|
|
@ -194,7 +194,7 @@ thread 'main' panicked at 'Failed to open hello.txt: Error { repr: Os { code:
|
|
|
|
|
|
|
|
|
|
|
|
### 传播错误
|
|
|
|
### 传播错误
|
|
|
|
|
|
|
|
|
|
|
|
当编写一个其实现会调用一些可能会失败的操作的函数时,除了在这个函数中处理错误外,还可以选择让调用者知道这个错误并决定该如何处理。这被称为 **传播**(*propagating*)错误,这样能更好的控制代码调用,因为比起你代码所拥有的上下文,调用者可能拥有更多信息或逻辑来决定应该如何处理错误。
|
|
|
|
当编写一个其实先会调用一些可能会失败的操作的函数时,除了在这个函数中处理错误外,还可以选择让调用者知道这个错误并决定该如何处理。这被称为 **传播**(*propagating*)错误,这样能更好的控制代码调用,因为比起你代码所拥有的上下文,调用者可能拥有更多信息或逻辑来决定应该如何处理错误。
|
|
|
|
|
|
|
|
|
|
|
|
例如,示例 9-6 展示了一个从文件中读取用户名的函数。如果文件不存在或不能读取,这个函数会将这些错误返回给调用它的代码:
|
|
|
|
例如,示例 9-6 展示了一个从文件中读取用户名的函数。如果文件不存在或不能读取,这个函数会将这些错误返回给调用它的代码:
|
|
|
|
|
|
|
|
|
|
|
|