Flutter提示The body might complete normally返回null错误如何解决
错误诱因
该错误由toMap()方法的返回值不匹配触发:
- 你在定义
toMap()时,显式声明了返回类型为非空的Map<String,dynamic>,但方法体构造完map对象后没有添加return语句返回该对象 - Dart空安全规则要求,声明了非空返回类型的方法必须保证所有执行分支最终都会返回对应类型的值,未显式return的方法默认返回
null,不符合类型约束,因此触发编译报错。
修复方案
只需要在toMap()方法的末尾添加return map语句,返回构造好的map对象即可,修正后的代码如下:
Map<String,dynamic> toMap(){ var map = Map<String,dynamic>(); map["word"] = word; map["description"] = description; if (id!=null) { map["id"] = id; } // 新增返回语句 return map; }
内容的提问来源于stack exchange,提问作者Aleyna Eser
相关产品推荐
相关产品推荐

