Android 正确的try/catch用法

Android 正确的try/catch用法,android,database,try-catch,Android,Database,Try Catch,有人能给我解释一下访问Android数据库时try/catch的正确用法吗?Android Studio强制您在打开数据库进行编写时使用它。我理解使用它的目的,但我的问题是,它是否最好在try子句中包含我所有的数据库工作 try { db.open(); db.delete(item); db.add(item); /////...... } catch (SQLException e) { e.printS

有人能给我解释一下访问Android数据库时try/catch的正确用法吗?Android Studio强制您在打开数据库进行编写时使用它。我理解使用它的目的,但我的问题是,它是否最好在try子句中包含我所有的数据库工作

try {
        db.open();
        db.delete(item);
        db.add(item);
        /////......
    } catch (SQLException e) {
        e.printStackTrace();
    }

db.close()
try {
        db.open();
    } catch (SQLException e) {
        e.printStackTrace();
    }

db.delete(item);
db.add(item);
/////......

db.close()
还是像这样使用它更好

try {
        db.open();
        db.delete(item);
        db.add(item);
        /////......
    } catch (SQLException e) {
        e.printStackTrace();
    }

db.close()
try {
        db.open();
    } catch (SQLException e) {
        e.printStackTrace();
    }

db.delete(item);
db.add(item);
/////......

db.close()
有重要区别吗?一种方法比另一种更有效还是更安全?
提前感谢您的回复

查看文档,仅在抛出异常的方法上使用try/catch

您使用catch块来实际捕获可以从代码中抛出的异常(在运行时)。因此,应该尝试/捕获每个可能引发异常的调用,因为它可以帮助您区分代码中的错误。
因此:在第二个示例中,在每个可能引发异常的函数调用周围包装一个try-catch,如果您的delete查询格式不正确,您将不知道,程序将继续运行,并认为它已成功


一个try-catch,尝试一些东西,然后捕获任何可能出现的错误。

如果你尝试删除,但它不存在,那么第一个更好。。errorAh当然!这是有道理的。谢谢我发现在考虑这两个选项中哪一个更好时,我不是很聪明。谢谢你的回复!