首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart、SQFLite和DatabaseException

Dart、SQFLite和DatabaseException
EN

Stack Overflow用户
提问于 2020-01-13 00:11:59
回答 1查看 90关注 0票数 1

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

我知道这个问题可能很基本,但我不明白为什么列表在"if (e.isNoSuchTableError()) {"中不是有效的

感谢你的帮助

MM

EN

回答 1

Stack Overflow用户

发布于 2020-01-13 00:22:29

list是在try块中定义的,这意味着它不在catch块的作用域中,这就是为什么您不能在catch块中访问它。您需要在try块外部定义它才能访问它:

代码语言:javascript
复制
List<Map> list = null;
try {
 list = await db.rawQuery(cmd);
} on DatabaseException catch(e){
   //access it
}

方法中也使用了相同的概念:

代码语言:javascript
复制
void getData(){
  List<String> listOfNames =  List<String>();
}

void retrieveData(){
  print(listOfNames); // Undefined name 'listOfNames' - line 10
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59705682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档