2020-07-27
Flutter异常和Java异常类似,都是代码运行时发生的错误事件,我们可以通过与Java类似的try-catch机制来捕获这个异常,和java不同的地方在于 Dart 采用事件循环的机制来运行任务,各个任务的运行状态是互相独立的,也就是说,即便某个任务出现了异常我们没有捕获它,Dart 程序也不会退出,只会导致当前任务后续的代码不会被执行,用户仍可以继续使用其他功能。
dart中的异常分为App异常和Framework异常,根据来源不同,捕获方式也不同。App异常我们可以通过try–catch或者异步调用中的catchError捕获;Framework中的异常可以通过自定义ErrorWidget.builder进行捕获+展示
App异常,就是应用代码的异常,通常由未处理应用层其他模块所抛出的异常引起。根据异常代码的执行时序,App异常可以分为两类,即同步异常和异步异常:同步异常可以通过try-catch机制捕获,异步异常则需要采用Future 提供的catchError语句捕获。
//异常捕获try{throw StateError("this is a dart exception");}catch (e){print(e);}Future.delayed(Duration(seconds: 1)).then((value) => throw StateError("this is a dart exception in future") ).catchError((e)=>
本文发布于:2024-01-28 11:07:57,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064112796990.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |