
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 Dart 的流程控制语句
Dart 中的流程控制语句不多,并且比较简单,主要有以下几种。
if 和else
for
while 和do-while
break 和continue
switch 和case
assert 断言(判断是否相等)
Dart 也支持异常的捕获和处理等相关操作,需要用到try-catch、throw 和finally,可能会影响一些流程控制的跳转。下面我们通过一段整合的代码,来看一下这几个流程控制语句的基本用法。



Dart 也支持Exceptions 类型的异常处理,通常使用throw 抛出异常,示例如下。

当然也可以抛出其他类型对象的异常,示例如下。

Dart 中还可以进行异常捕获,通常使用catch 来捕获异常,示例如下。

Dart 中使用rethrow 可以将捕获的异常重新抛出,这样就可以让程序的其他部分继续捕获异常并处理,示例如下。


Dart 中finally 的用法和Java 中的类似。不管是否出现异常,始终执行的方法需要写在finally中,示例如下。

Dart 的流程控制语句非常简单,和C++、Java 等语言中的含义和用法基本一样,大家可以对比着进行学习。