Database 如何捕获到不存在的Rose::DB数据库的连接故障?
我的Perl应用程序在Windows XP上使用Rose::DB、Rose::DB::Object(ORM)和Tk。我需要检查数据库连接信息(主机、端口、数据库名称、用户、密码)是否导致有效连接。如果我调用Database 如何捕获到不存在的Rose::DB数据库的连接故障?,database,perl,try-catch,Database,Perl,Try Catch,我的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',…)失败:无法连接到服务器:没有到主机的路由(0x00002751/10065) 如
$db->connect
并使用不存在的主机进行测试,Rose::db会说:
DBI connect('dbname=my_db;host=192.168.70.85;port=5432','postgres',…)失败:
无法连接到服务器:没有到主机的路由(0x00002751/10065)
如何捕获此消息并为我的应用程序创建新消息?这是一个关于尝试/捕获的问题吗
谢谢你的帮助 约翰向我发布了一个迄今为止似乎有效的解决方案:
my$ok=eval{$db->connect}
if(!$ok || $@) { # Connection failed }