This commit is contained in:
安正超
2015-09-28 18:33:18 +08:00
parent 33e6ccf05a
commit 49db0dac2f

View File

@ -6,7 +6,7 @@
错误处理是响应错误以及从错误中返回的过程。swift提供第一类错误支持包括在运行时抛出捕获传送和控制可回收错误。 错误处理是响应错误以及从错误中返回的过程。swift提供第一类错误支持包括在运行时抛出捕获传送和控制可回收错误。
一些函数和方法不能总保证能够执行所有代码或产生有用的输出。可空类型用来表示值可能为空,但是当函数执行失败的事后可空通常可以用来确定执行失败的原因因此代码可以正确地响应失败。在Swift中这叫做抛出函数或者抛出方法。 一些函数和方法不能总保证能够执行所有代码或产生有用的输出。可空类型用来表示值可能为空,但是当函数执行失败的时候可空通常可以用来确定执行失败的原因因此代码可以正确地响应失败。在Swift中这叫做抛出函数或者抛出方法。
举个例子,考虑到一个从磁盘上的一个文件读取以及处理数据的任务,有几种情况可能会导致这个任务失败,包括指定路径的文件不存在,文件不具有可读属性,或者文件没有被编码成合适的格式。区分这些错误可以让程序解决并且修复这些错误,并且,如果可能的话,把这些错误报告给用户。 举个例子,考虑到一个从磁盘上的一个文件读取以及处理数据的任务,有几种情况可能会导致这个任务失败,包括指定路径的文件不存在,文件不具有可读属性,或者文件没有被编码成合适的格式。区分这些错误可以让程序解决并且修复这些错误,并且,如果可能的话,把这些错误报告给用户。
@ -35,7 +35,7 @@ enum VendingMachineError: ErrorType {
<a name="throwing_errors"></a> <a name="throwing_errors"></a>
错误抛出 错误抛出
通过在函数或方法声明的参数后面加上`throws`关键字,表明这个函数或方法可以抛出错误。如果指定一个返回值,可以把`throws`关键字放在返回箭头(->)的前面。除非明确地指出,一个函数,方法或者闭包不能抛出错误。 通过在函数或方法声明的参数后面加上`throws`关键字,表明这个函数或方法可以抛出错误。如果指定一个返回值,可以把`throws`关键字放在返回箭头(->)的前面。除非明确地指出,一个函数,方法或者闭包不能抛出错误。
```swift ```swift
func canThrowErrors() throws -> String func canThrowErrors() throws -> String