gpt4 book ai didi

java - 为什么在 Android 上使用 db.exec() 时不需要捕获 SQLExecption?

转载 作者:行者123 更新时间:2023-12-01 07:26:13 25 4
gpt4 key购买 nike

当我在 Android 上使用 db.exec() 时,为什么不需要catch SQLExecption

数据库是一个SQLiteDatabase对象。

当我编写以下代码时,Eclipse 不会提醒我捕获 SQLException 并且代码可以正常运行。但是,该方法应该根据情况抛出 SQLException到eclipse提供的文档。

我认为程序员应该在 java 中创建方法时捕获每个异常或添加 throws 语句。

以下是我的代码。

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
SQLiteDatabase db=openOrCreateDatabase("keys.db",Context.MODE_PRIVATE,null);
String sql="CREATE TABLE `mykey` (_id INTEGER PRIMARY KEY AUTOINCREMENT, "+
"public_key VARCHAR, private_key VARCHAR)";
db.execSQL(sql);
db.close();
}

谢谢。

最佳答案

看看documentation :SQLException 扩展了RuntimeException,并且您不需要这些throws 子句。

编辑:请注意,这仅适用于 Android。在 Java SE 中,SQLException 不是从 RuntimeException 派生的。

关于java - 为什么在 Android 上使用 db.exec() 时不需要捕获 SQLExecption?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24144967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com