我的 Perl 应用程序在 Windows XP 上使用 Rose::DB、Rose::DB::Object (ORM) 和 Tk。我需要检查数据库连接信息(主机、端口、数据库名称、用户、密码)是否导致有效连接。如果我调用 $db->connect
并使用例如一个不存在的测试主机,Rose::DB 说:
DBI connect('dbname=my_db;host=192.168.70.85;port=5432','postgres',...) failed: <br/>could not connect to server: No route to host (0x00002751/10065)
我如何捕获它并为我的应用程序创建一条新消息?这是一个关于 try/catch 的问题吗?
感谢您的帮助!
最佳答案
John 向我发布了一个到目前为止似乎有效的解决方案:
my $ok = eval { $db->connect };<br/>
<pre><code>if(!$ok || $@) { # Connection failed }
</code></pre>
关于database - 如何捕捉到不存在的 Rose::DB 数据库的连接失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109831/