我想在PostGres DB出现任何问题时记录错误代码,例如:42703表示错误的列名,08006表示连接失败。我试过了getSQLState()
,它与前一种情况有关,但不适用于后者。即使我在将其转换为SQLException
并调用getSQLState()
之前检查了Exception的实例,我仍然会得到null值。
我尝试过的两个场景是在任务管理器中停止Postgres服务并使用错误的用户名连接到数据库。我的方法有什么问题吗?
提前致谢。
答案 0 :(得分:0)
连接失败通常由数据库驱动程序捕获和处理,因此在应用程序捕获它们之前会消耗这些异常。通常,为了测试数据库是否可用,我使用select查询并测试非空结果,例如SELECT 1;