我试图使用cpan中的Try::Tiny包,并编写了如下的简单代码
use strict;
use Try::Tiny;
print "before try block";
try {
print "try block";
my $test = 10/0;
} catch {
print "got error :- $_ \n";
}
exit;
当我执行它时,它显示没有错误和 给o / p像“在try块之前”,并且不打印“try block”语句结束。
但是当我发表评论时
#exit;
我工作正常并在catch块中显示print语句,我做错了什么? 只是想找出问题所在。
答案 0 :(得分:6)
我认为在try-catch的最后需要;
(分号)
} catch {
print "got error :- $_ \n";
};
来自cpan
上的例子此外,您需要exit
??
(礼貌ysth)
说明: catch有两个参数:一个代码块,一个可选的参数,意图是finally子句...但是这里它正在传递exit的返回值作为第二个参数,它会抱怨,但退出永远不会回来。