我是Flutter/Dart的新手,在我的代码中,我正在从一个表中检索一些数据,并将其映射到一个列表中。我的代码运行良好,但我希望处理错误和异常,所以我尝试使用DatabaseException。这是我的代码:

我知道这个问题可能很基本,但我不明白为什么列表在"if (e.isNoSuchTableError()) {"中不是有效的
感谢你的帮助
MM
发布于 2020-01-13 00:22:29
list是在try块中定义的,这意味着它不在catch块的作用域中,这就是为什么您不能在catch块中访问它。您需要在try块外部定义它才能访问它:
List<Map> list = null;
try {
list = await db.rawQuery(cmd);
} on DatabaseException catch(e){
//access it
}方法中也使用了相同的概念:
void getData(){
List<String> listOfNames = List<String>();
}
void retrieveData(){
print(listOfNames); // Undefined name 'listOfNames' - line 10
}https://stackoverflow.com/questions/59705682
复制相似问题