【发布时间】:2014-02-18 16:59:19
【问题描述】:
我遇到了与Can't disable stack trace in Carp::croak() for some reason 相同的问题。因为堆栈中的每个调用都被认为是“安全的”,所以croak() 每次都会打印出完整的堆栈跟踪。我想为某些呼叫禁用它。
这是一个例子:
use Carp;
sub this_may_fail {
# Some code...
croak "This call failed!";
}
sub regular_code {
this_may_fail();
}
regular_code();
两个子例程都在同一个包中,所以this_may_fail 被自动标记为安全。有没有办法告诉 Carp this_may_fail 应该被认为是不安全的?
【问题讨论】:
-
只有
regular_code()调用this_may_fail吗?如果是这样,那么您可以使用常规的die -
this_may_fail被从几个不同的位置调用,我需要知道它是从哪里调用的,以便找出问题所在。