1

trySpecman でキーワードが何に使用されているか、特に以下のコード スニペットでの使用法を知りたいです。

try {
    unpack(packing.low,lob,pkt);
} else{
    message(LOW, “Uh-oh!”){print lob using HEX;};
    message(LOW,”bad unpack!!!”);
};
4

2 に答える 2

1

try と if は似ていますが、if は条件が true の場合に true ブロックを実行し、それ以外の場合は false を実行します。true ブロックにエラーがある場合も同様に試して、else ブロックに切り替えます。

于 2012-03-05T10:02:04.770 に答える
0

tryおよびelseSpecman の例外処理構造です。ブロックでエラーが発生すると、ブロックの残りの部分ではなくそのtry ブロックelseがただちに実行され、エラーは出力されtryに抑制されます。

この場合、「物理フィールド」lobよりもビット数が多いと、アンパックでエラーが発生します。pktその場合、Specman ランタイムはelseブロックにジャンプし、元のエラーlobを出力する代わりにデータ構造を出力します。unpack「物理フィールド」とは何か、およびそれらがどのように使用されるかについては、ドキュメントを参照してください。これらは、Specman の%pack、およびunpack構造の動作と特に相互作用する奇妙な構造です。の物理フィールドは、 の「物理フィールド」の前に修飾子pktを付けて宣言されます。%pkt

于 2012-01-09T18:02:47.163 に答える