gpt4 book ai didi

flutter - RangeError(索引):无效值:有效值范围为空:-1

转载 作者:行者123 更新时间:2023-12-03 03:58:26 24 4
gpt4 key购买 nike

试图从服务器获取json并将其放在String变量中

var allData;
var userMapOfInfo;
var url =
"my url";
var response1 = await http.get(url);
try {
userMapOfInfo = jsonDecode(response1.body); //here i'm sure there is valid json data
print(userMapOfInfo);
allData = response1.body; //this line cause the error
} catch (e) {
return "yok";
}

完全异常(exception):
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: RangeError (index): Invalid value: Valid value range is empty: -1
#0 List.[] (dart:core-patch/growable_array.dart:147:60)
#1 List.elementAt (dart:core-patch/growable_array.dart:356:16)

最佳答案

我不知道为什么android studio在与实际错误无关的代码行中显示错误,在问题中的代码下面有这段代码

var examsLastExamId = 0;
try {
var exams = userMapOfInfo['student_exams'];
if (exams != null)
examsLastExamId = exams.elementAt(exams.length - 1)['id'];

} finally{
print(examsLastExamId);
}

问题如下:考试不是null,而是空数组,所以它通过我的null检查条件来获取,并且在这行中 examsLastExamId = exams.elementAt(exams.length - 1)['id'];通过异常进行了编码,因为考试没有数据,通过更正该错误很容易解决条件:
        if (exams != null && exams.length > 0)

纠正此代码不是什么大问题,但是很难知道当android studio在另一个代码行中抛出异常时错误出在哪里,而太糟糕了。

关于flutter - RangeError(索引):无效值:有效值范围为空:-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59254817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com