Kotlin基础九‘try’,‘catch’,‘finally

‘try-catch-finally’

和Java一样,你可以使用--去捕获和处理异常,接下来的例子中你可以看到它是如何工作的:

这段代码和Java最大的不同就是在Java中,你必须在函数后声明你的函数会抛出什么已检查的类型异常,比如这里你得在你的函数声明后面声明你的函数会抛出。在Kotlin中,这是不必要的。

Kotlin和其他现代的JVM语言一样,并不区分和,你不需要指出你的函数或者方法可以抛出什么异常。

这样的设计是基于Java的大量用例,经验表明,Java的规则通常需要很多无意义的代码来重新抛出或者忽略异常,这种规则并不能始终保护你可以免受发生错误的影响。

比如说,像上面写的代码,不是一个,因此,Java编译器不强制要求你捕获它,但是你可以很轻易地看到它会在运行时发生错误,一些不合法的数据输入所导致它的发生。与此同时,方法可以抛出一个,它是个,需要被捕获处理。但是很多的程序在关闭失败时也并不能做出什么有效的处理。

‘try’作为一个表达式

让我们来看看和Java相比另一个比较有意思的不同:

可以看到,只有一行输出,第二个函数调用并没有执行到打印语句。在这里作为了一个带有值的表达式,如果字符串解析成功,返回解析后的数字,否则进入直接返回函数被调用的地方。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180409G1J9WC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券