> 诸位,请教大家一个开放问题
> 诸位在用perl写程序时,是如何做错误处理的? 我使用的一个方法是子程序返回错
> 误代码,然后在头文件中建立错误代码和错误消息的hash表。但是,我自己觉得这
> 个方法不够smart, 诸位有没有什么其他办法呢?
>
我的程序是直接在出错的地方 die 而不是返回错误代码。其中一个好处是利用
die 函数的特性直接报告哪行那个文件出错 (如果是 apache 的话,错误信息就直
接写在 log 文件里,方便跟踪错误),另一个好处是在出错的地方直接返回错误
信息,而错误代码不够直观。
具体的使用大概如下:
简单的程序直接 die "错误信息";
稍大型,复杂的程序的话就写一个 config 文件来储存错误信息, 然后直接在出错
的地方 die MyErrorConfig->msg("Password_File_Not_Found"); 如果想处理这些
错误而不是让用户看到具体的错误信息,eval { sub_where_it_dies() }; if( $@
) { #返回一般性错误提示 }
另外,mastering perl 的第十二章对错误信息的生成和报告进行了讨论。
暂时想到的就这些了。
Qiang
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论