我最近注意到,我预先__PACKAGE__
和子/方法名称大多数croak()
的消息,因为它使追踪错误更容易。所以我开始编写一个_croak()包装器,默认添加这个(使用caller(1)
)。寻找一个更清晰的鲤鱼:: croak()
E.g.
sub _croak {
my ($msg) = shift // '';
$msg = (caller 1)[3].': '.$msg
unless ref $msg;
Carp::croak($msg);
};
现在每天(文本)异常是由于既在我的模块被滥用的地步(例如传递错误的参数),和到模块本身。
而问题:有没有一个标准的模块/技术呢? (全栈跟踪aka承认()大部分时间是矫枉过正的)。