Try :: Tiny不能在perl中使用exit语句

时间:2013-02-27 06:01:10

标签: perl cpan

我试图使用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语句,我做错了什么? 只是想找出问题所在。

1 个答案:

答案 0 :(得分:6)

我认为在try-catch的最后需要;(分号)

} catch {
        print "got error :- $_ \n";
};

来自cpan

上的例子

此外,您需要exit ??

(礼貌ysth)
说明: catch有两个参数:一个代码块,一个可选的参数,意图是finally子句...但是这里它正在传递exit的返回值作为第二个参数,它会抱怨,但退出永远不会回来。