【发布时间】:2011-02-07 09:07:10
【问题描述】:
我正在玩错误处理并遇到了一个小问题。 我使用 DBI 模块连接数据库。
我使用调用错误的子例程进行自己的错误处理。
我可以抓住自己的模具并很好地处理它们,但是当我的数据库连接失败时,DBI 模块显然会打印出它自己的模具:
DBI 连接(...)失败:ORA-12154:TNS:无法解析 在...处指定连接标识符(DBD 错误:OCIServerAttach)
我要怎么抓到这个?
我尝试像这样使用$SIG{__DIE__}:
local $SIG{__DIE__} = sub {
my $e = shift;
print "Error: " .$e;
};
这是在我的主文件的底部,在这个文件中我还调用了我自己的模块中可用的连接子例程。我也尝试将这段代码放在我的模块底部,但它仍然打印没有
的错误错误:
在它前面。
【问题讨论】:
标签: perl error-handling die