gpt4 book ai didi

Flutter:抛出异常时获取完整的堆栈跟踪?

转载 作者:行者123 更新时间:2023-12-05 01:28:25 28 4
gpt4 key购买 nike

我构建了一个应用程序,并进行了几次尝试。问题是每当我打印出异常时,它只打印出异常的第一行。例如,当我删除所有 try-catch 并抛出异常时,它会显示:

E/flutter (15478): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value
E/flutter (15478): #0 MyClass._insertIntoDB (package:test/util/my_class.dart:186:25)
E/flutter (15478): <asynchronous suspension>
E/flutter (15478): #1 MyClass.download(package:test/util/my_class.dart:62:11)
E/flutter (15478): <asynchronous suspension>
E/flutter (15478): #2 blabla.asaa(package:test/sync.dart:94:9)
E/flutter (15478): <asynchronous suspension>
E/flutter (15478): #3 tata.dodo(package:test/my_screen.dart:91:11)
E/flutter (15478): <asynchronous suspension>
E/flutter (15478):

每当发生这种情况时,我都能看到问题发生的位置:MyClass._insertIntoDB (package:test/util/my_class.dart:186:25) <--

但是当我将给定的代码放在 try-catch 之间时,我只会返回:

E/flutter (15478): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:空检查运算符用于空值

消息,说的是问题是什么,但没有说出在哪里...

这是首先处理异常的地方:

 try {
List<MyDto> dtoList = dtoFromJson(body);
if (dtoList.isNotEmpty) {
for (var i in dtoList) {
await _insertIntoDB(i, db);
}
}
} catch (error) {
throw Exception(
"Problem while JSON decoding results. [error=${error.toString()}]");
}

这里的错误等于:[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value

所以我得到了这个错误:"Problem while JSON decoding results. [error=[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value ]"

因此没有显示抛出异常的实际有用信息(文件中的哪一行)...是否可以包含堆栈跟踪的其余部分?

请注意,我没有问为什么会抛出异常! (这不是我不包含 insertIntoDb 代码的原因)。

提前致谢。

最佳答案

catch 的第二个参数是 stackTrace

try {
List<MyDto> dtoList = dtoFromJson(body);
if (dtoList.isNotEmpty) {
for (var i in dtoList) {
await _insertIntoDB(i, db);
}
}
} catch (error, stack) {
print(stack);
throw Exception(
"Problem while JSON decoding results. [error=${error.toString()}]");
}

关于Flutter:抛出异常时获取完整的堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68639617/

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