1

我想知道关键字try在 Specman 中的用途,尤其是它在下面给出的代码片段中的用法:

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 类似,如果条件为真时执行真块,否则执行假。同样尝试如果 true 块中存在错误,它会切换到 else 块。

于 2012-03-05T10:02:04.770 回答
0

try并且else是 Specman 的异常处理结构。try 如果在块中创建了错误,则else立即执行该块而不是该块的其余部分,try并且该错误被抑制而不打印输出

在这种情况下,如果lob位数多于pkt“物理字段”,则解包将产生错误。如果发生这种情况,Specman 运行时将跳转到该else块并打印出lob数据结构,而不是打印原始unpack错误。查看文档以了解“物理场”是什么以及如何使用它们。它们是一个奇怪的构造,专门与 Specman 的 、 和 构造的%行为pack交互unpack。的物理场pkt将在%的“物理场”之前使用修饰符声明pkt

于 2012-01-09T18:02:47.163 回答