我想知道关键字try在Specman中的用途,特别是它在下面给出的代码片段中的用法:
try {
unpack(packing.low,lob,pkt);
} else{
message(LOW, “Uh-oh!”){print lob using HEX;};
message(LOW,”bad unpack!!!”);
};发布于 2012-01-10 02:02:47
try和else是Specman的exception handling构造。如果在try block中创建了错误,则会立即执行else块,而不是try块的其余部分,并且不会打印输出而抑制错误。
在这种情况下,如果lob的位数超过pkt的“物理字段”数,则解包将生成错误。如果发生这种情况,Specman运行时将跳转到else块并打印出lob数据结构,而不是打印原始的unpack错误。查阅文档,了解什么是“物理字段”以及如何使用它们。它们是一个奇怪的构造,专门与Specman的%、pack和unpack构造的行为交互。pkt的物理字段将在pkt的"physical fields“之前使用%修饰符声明。
发布于 2012-03-05 18:02:05
try和if类似,if在条件为true时执行true块,否则执行false块。同样,如果在切换到else块的true块中存在错误,也可以尝试。
https://stackoverflow.com/questions/8768465
复制相似问题