我想知道如何处理并成功捕获我的数据库异常。我的 Sqlite 数据库中有一个主键 ID 和另一个名为 name 的键。我使用颤振插件 sqflite。我想处理当我的数据库中已经有一个具有给定 ID 的条目的情况,我想显示 ID 已经存在,因为我想知道如何处理异常。
我试图将代码包围在 try catch 块中,但我无法让 FLutter 意识到 DatabaseException 类,它给了我一个错误,说“DatabaseException”不是一种类型,不能在 catch 子句中使用。在按下按钮后,我想在我的数据库中添加一个新的主题,如果用户输入与已经存在的 ID 值相同的 ID 值,我想处理该错误。
onSubmitted: (test) async {
Subject newSubject = Subject(name: name, id: test);
try {
await DBProvider.db.newSubject(newSubject);
} on DatabaseException {}
},