My 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:
could not connect to server: No route to host (0x00002751/10065)
如何捕获此信息并为我的应用程序创建新消息?这是一个关于try / catch的问题吗?
感谢您的帮助!
答案 0 :(得分:2)
到目前为止似乎有效的解决方案是从John发给我的:
my $ok = eval { $db->connect };
if(!$ok || $@) { # Connection failed }
if(!$ok || $@) { # Connection failed }