Dart 异常2024 年 8 月 29 日 | 4 分钟阅读 Dart 异常是运行时错误。它在程序执行时引发。 当程序在内部运行时,程序不会在编译时报告错误,如果 Dart 编译器发现某些不合适的内容,则会报告运行时错误,并且程序的执行异常终止。 这种类型的错误称为异常。 例如 - 给定的数字除以零,或者我们尝试从空列表中访问元素。 Dart 支持以下类型的内置异常。
异常的主要目标是处理运行时错误并防止程序突然终止。 Dart 中的每个异常都是预定义类 Exception 的子类型。 Dart 提供了以下技术来处理异常。 try/on/catch 块try 块用于保存可能抛出异常的代码块。 on 块用于在我们需要指定异常时。 catch 块用于处理程序需要异常对象时。 如果 try 块发现错误,它将抛出到 catch 块,catch 块具有处理错误的代码。 try 块必须后跟一个块(on/catch)或一个 finally 块。 异常处理的语法如下。 语法try { // code that might throw an exception } on Exception1 { // Specify the exception } Catch Exception2 { // code for handling exception } 应该记住以下几点。
在以下示例中,变量 x 分别除以变量 y。 当代码尝试除以零时,会抛出代码。 on 块包含处理异常的代码。 让我们了解以下代码。 示例 - 使用 on 块输出 Cannot divide by zero 说明 在上面的代码中,我们在 main() 函数中声明了三个变量 x、y 和 res。 我们在 try 块中编写了可疑代码,将 x 除以 0,这可能会抛出异常。 try 块找到错误,控制权转移到 on 块,该块具有处理错误的代码。 通过使用这个,程序没有停止执行。 让我们了解以下使用 catch 块的示例。 示例 - 使用 catch 块输出 IntegerDivisionByZeroException 现在一起看一下 on...catch 块的示例 示例 3:on...catch 块输出 IntegerDivisionByZeroException finally 块无论是否发生异常,finally 块始终执行。 它在 try/on/catch 之后无条件地执行。 finally 块的语法如下。 语法 -让我们了解以下 finally 块的示例。 示例 -输出 Cannot divide by zero Finally block executed 抛出异常我们可以显式或强制地引发异常。 显式引发的异常应被处理,以避免程序急剧退出。 语法如下。 语法让我们理解下面的例子。 示例 -输出 The marks cannot be negative 自定义异常正如我们上面讨论的,dart 中的每个异常都是内置类 Exception 的子类型。 Dart 提供了通过扩展现有异常类来创建自定义异常的灵活性。 语法如下。 语法:定义异常让我们来理解以下代码。 示例 -输出 Entered Amount should be greater than zero Ending requested operation..... 说明在上面的例子中,我们创建了一个自定义异常 AmtException。 如果输入的金额不在预期的范围内,代码会引发异常,我们将函数调用包含在 try...catch 块中。 下一个主题Dart Typedef |
我们请求您订阅我们的新闻通讯以获取最新更新。