如何在Perl中获取追溯?

Inc*_*ito 14 perl exit traceback

可能重复:
如何对Perl中的所有致命错误强制执行堆栈回溯?

我喜欢Python的一个方面是,当一个脚本因为错误而退出时,它会抛出一个回溯.我想知道是否还有Perl这样做呢?

Gav*_*ock 24

将其添加到脚本的顶部:

use Carp 'verbose';
$SIG{ __DIE__ } = sub { Carp::confess( @_ ) };
Run Code Online (Sandbox Code Playgroud)

它将在所有致命错误上创建堆栈跟踪.

  • 你也可以制作`$ SIG {__ DIE__} = \&Carp :: confess;` (4认同)

tse*_*see 12

调查Carp :: Always模块.

  • "Carp :: Always"是比使用sigdie更好的方法,因为你可以从命令行启用它.`perl -MCarp :: Always my_script`非常非常好. (4认同)