本片博客的目的是记录异常的捕获与上传效果的实现过程,现分为两个方面阐述。
- 异常的捕获
- 异常的上传
捕获异常
经过测试,,从捕获程度和效果我把flutter的异常分为三种,分别是Framework异常,Dart异常 和 Engine异常。
Framework异常
可以把它理解为flutter调试时出现的默认的红屏页面,如果在release版本下是一张灰屏。如下面这些情况就会出现这种异常:
class _MyHomePageState extends State<MyHomePage> {
List list;
@override
Widget build(BuildContext context) {
/***************** Framework异常触发 *****************/
list.add('value');
// List<String> numList = ['1', '2'];
// print(numList[5]);
// throw StateError('throw a StateError');
return Scaffold(
appBar: AppBar(
title: Text('FlutterCrashReport'),
),
floatingActionButton: FloatingActionButton(
onPressed: () => _triggerException(),
child: Icon(
Icons.add,
color: Colors.wh