我遇到了与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
被自动标记为安全。有没有办法告诉 Carpthis_may_fail
应该被认为是不安全的?