Flutter/Dart 中抛出错误和异常的方法和区别

问题描述 投票:0回答:1

有人可以花 5 分钟时间解释一下 Flutter/Dart 中抛出错误和异常之间的区别吗?我在网上找到的信息非常矛盾且令人困惑。

  1. 在什么情况下我应该抛出错误,在什么情况下我应该抛出异常?

  2. 其中哪些可以或应该通过 try/catch 方法捕获?

  3. 抛出不同的错误类型(例如 Error 或 ArgumentError)有什么区别?我在哪里可以找到这些类型的列表?

提前非常感谢!

flutter error-handling
1个回答
0
投票

错误显示程序不应尝试捕获的关键问题。通常,这些是代码本身的问题,例如系统故障或逻辑错误。

异常是程序可能希望检测和处理的情况,例如不正确的用户输入或不成功的网络请求。

什么时候扔什么?

抛出错误:当您的代码出现问题时(例如断言错误或类型错误)无法修复

抛出异常:当您遇到可能希望处理或恢复的问题时(例如 IOException 或 FormatException)。

使用try/catch:

捕获异常:要处理异常,请使用 try/catch 块。这可以让您通知用户。

避免捕获:错误通常不应该被捕获。

总而言之,

错误:严重,通常不会被发现。

异常:不太严重,可以发现并处理。

欲了解更多详细信息,请查看此处

© www.soinside.com 2019 - 2024. All rights reserved.