SQLite - 当数据库不存在时未捕获executeUpdate异常?(JAVA)

gia*_*t91 5 java database sqlite exception

所以我故意试图打破我的计划,我成功了.

在我已经创建连接之后,我删除了程序使用的sqlite数据库,而程序正在运行.然后我尝试更新数据库,如下所示.

Statement stmt;
try
{
    stmt = Foo.con.createStatement();
    stmt.executeUpdate("INSERT INTO "+table+" VALUES (\'" + itemToAdd + "\')");
}
catch(SQLException e)
{
    System.out.println("Error: " + e.toString());
}
Run Code Online (Sandbox Code Playgroud)

问题是,它没有捕获异常,并继续运行,好像数据库已成功更新.同时数据库甚至不存在,因为这是在我删除它之后.

  • 更新时是否检查数据库是否仍然存在?
  • 我是否必须手动检查数据库连接,每次更新以确保数据库没有损坏/删除?
  • 这是通常的方式,还是有更简单/更健壮的方法?

谢谢.

gia*_*t91 1

有趣的是,我发现如果我在使用数据库时删除它然后尝试更新它,它会在新位置(在垃圾箱中!)更新数据库。当它位于垃圾桶中并且您通过程序访问它时,您无法永久删除它。