【发布时间】:2011-10-27 06:09:40
【问题描述】:
在 Perl 中处理方法链中抛出的异常的最佳方法是什么? 如果链接的任何方法抛出异常,我想分配一个值 0 或 undef
代码示例:
my $x = $obj->get_obj->get_other_obj->get_another_obj->do_something;
最好的方法是什么? 我是否必须每次都包含在 try/catch/finally 语句中? 我想应用的上下文是:我在使用 Catalyst 和 DBIC 进行 Web 开发工作,我做了很多链接的结果集,如果其中一些结果集抛出异常,我只想分配一个 0 或 undef 的值,然后处理这个模板中的错误(我正在使用模板工具包)。如果有另一种方法可以做到这一点,而无需将每个调用都包含在 try/catch 中,请告诉我。如果您知道在相同上下文(Catalyst/DBIC/TT)中处理此类错误的更好方法,请提出建议。 一个实际的例子是当用户搜索某些东西但它不存在时。
【问题讨论】:
标签: perl error-handling catalyst dbix-class template-toolkit