mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 05:11:49 +08:00
Update 13.4.md (#603)
Within a package, however, especially if there are deeply nested calls to non-exported functions, it can be useful (and improve readability) to use panic to indicate error conditions which should be translated into an error for the calling function. 原译文有机翻的感觉。鉴于英文原文这一段的句式,我觉得意思表达到了就行。
This commit is contained in:
@@ -6,9 +6,9 @@
|
|||||||
|
|
||||||
2)*向包的调用者返回错误值(而不是 panic)。*
|
2)*向包的调用者返回错误值(而不是 panic)。*
|
||||||
|
|
||||||
在包内部,特别是在非导出函数中有很深层次的嵌套调用时,对主调函数来说用 panic 来表示应该被翻译成错误的错误场景是很有用的(并且提高了代码可读性)。
|
在包内部,特别是在非导出函数中有很深层次的嵌套调用时,将 panic 转换成 error 来告诉调用方为何出错,是很实用的(且提高了代码可读性)。
|
||||||
|
|
||||||
这在下面的代码中被很好地阐述了。我们有一个简单的 parse 包(示例 13.4)用来把输入的字符串解析为整数切片;这个包有自己特殊的 `ParseError`。
|
下面的代码则很好地阐述了这一点。我们有一个简单的 parse 包(示例 13.4)用来把输入的字符串解析为整数切片;这个包有自己特殊的 `ParseError`。
|
||||||
|
|
||||||
当没有东西需要转换或者转换成整数失败时,这个包会 panic(在函数 fields2numbers 中)。但是可导出的 Parse 函数会从 panic 中 recover 并用所有这些信息返回一个错误给调用者。为了演示这个过程,在 [panic_recover.go](examples/chapter_13/panic_recover.go) 中 调用了 parse 包(示例 13.5);不可解析的字符串会导致错误并被打印出来。
|
当没有东西需要转换或者转换成整数失败时,这个包会 panic(在函数 fields2numbers 中)。但是可导出的 Parse 函数会从 panic 中 recover 并用所有这些信息返回一个错误给调用者。为了演示这个过程,在 [panic_recover.go](examples/chapter_13/panic_recover.go) 中 调用了 parse 包(示例 13.5);不可解析的字符串会导致错误并被打印出来。
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user