0

我想知道如何处理并成功捕获我的数据库异常。我的 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 {}
                    },
4

1 回答 1

0

sqflite您应该在使用异常的 dart 文件中 导入,添加以下内容:

import 'package:sqflite/sqflite.dart';
于 2019-08-29T10:00:46.173 回答