This commit is contained in:
Tin Unkai 2017-07-22 18:41:27 +09:00
parent 8a236e080c
commit e42273b807

View File

@ -4,7 +4,7 @@
> <br>
> commit e6d6caab41471f7115a621029bd428a812c5260e
大部分错误并没有严重到需要程序完全停止执行。有时,一个函数会因为一个容易理解并做出反映的原因失败。例如,如果尝试打开一个文件不过由于文件并不存在而操作就失败,这我们可能想要创建这个文件而不是终止进程。
大部分错误并没有严重到需要程序完全停止执行。有时,一个函数会因为一个容易理解并做出反映的原因失败。例如,如果尝试打开一个文件不过由于文件并不存在而操作就失败,这我们可能想要创建这个文件而不是终止进程。
回忆一下第二章“使用`Result`类型来处理潜在的错误”部分中的那个`Result`枚举,它定义有如下两个成员,`Ok`和`Err`
@ -298,4 +298,4 @@ error[E0308]: mismatched types
错误指出存在不匹配的类型:`main`函数返回一个`()`类型,而`?`返回一个`Result`。编写不返回`Result`的函数时,如果调用其他返回`Result`的函数,需要使用`match`或者`Result`的方法之一来处理它,而不能用`?`将潜在的错误传播给调用者。
现在我们讨论过了调用`panic!`或返回`Result`的细节,是时候返回他们各自适合哪些场景的话题了。
现在我们讨论过了调用`panic!`或返回`Result`的细节,是时候返回他们各自适合哪些场景的话题了。