我有一些使用Moose的Perl代码,这些代码使用自定义的error类。如下所示:
use metaclass (
metaclass => 'Moose::Meta::Class',
error_class => 'My::Custom::Class',
);其中My::Custom::Class是从Moose::Error::Default派生的。这曾经在Moose 2.0401上运行得很好。我最近将Moose升级到了最新的2.1603版本,但它不再工作了。原因是似乎整个Moose::Error::*树都消失了。我确实看过Moose的更改日志,但我既找不到它被删除的原因,也找不到我应该如何更新我的代码,因为这些包丢失了。
发布于 2015-09-23 20:25:56
该模块在2.1101中消失了。相关的Changes条目为:
2.1101 2013年10月20日(试用版)
增强功能
发布于 2015-09-23 20:47:51
Moose::Error从来都不是公共的API,也不打算在Moose之外的代码中使用。对于您自己的代码,您应该使用类似于Throwable角色的角色。如果你想添加更多的结构或者创建一个异常类的层次结构,你可以用普通的驼鹿方式来做-在你的异常基类中使用has (做with Throwable的那个)和/或创建它的一堆子类。
https://stackoverflow.com/questions/32739274
复制相似问题