File tree 1 file changed +2
-2
lines changed
1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -452,10 +452,10 @@ func main(){
452
452
Go没有像Java那样的异常机制,它不能抛出异常,而是使用了` panic ` 和` recover ` 机制。一定要记住,你应当把它作为最后的手段来使用,也就是说,你的代码中应当没有,或者很少有` panic ` 的东西。这是个强大的工具,请明智地使用它。那么,我们应该如何使用它呢?
453
453
454
454
Panic
455
- > 是一个内建函数,可以中断原有的控制流程,进入一个令人恐慌的流程中 。当函数` F ` 调用` panic ` ,函数F的执行被中断,但是` F ` 中的延迟函数会正常执行,然后F返回到调用它的地方。在调用的地方,` F ` 的行为就像调用了` panic ` 。这一过程继续向上,直到发生` panic ` 的` goroutine ` 中所有调用的函数返回,此时程序退出。恐慌可以直接调用 ` panic ` 产生。也可以由运行时错误产生,例如访问越界的数组。
455
+ > 是一个内建函数,可以中断原有的控制流程,进入一个 ` panic ` 状态中 。当函数` F ` 调用` panic ` ,函数F的执行被中断,但是` F ` 中的延迟函数会正常执行,然后F返回到调用它的地方。在调用的地方,` F ` 的行为就像调用了` panic ` 。这一过程继续向上,直到发生` panic ` 的` goroutine ` 中所有调用的函数返回,此时程序退出。` panic ` 可以直接调用 ` panic ` 产生。也可以由运行时错误产生,例如访问越界的数组。
456
456
457
457
Recover
458
- > 是一个内建的函数,可以让进入令人恐慌的流程中的 ` goroutine ` 恢复过来。` recover ` 仅在延迟函数中有效。在正常的执行过程中,调用` recover ` 会返回` nil ` ,并且没有其它任何效果。如果当前的` goroutine ` 陷入恐慌 ,调用` recover ` 可以捕获到` panic ` 的输入值,并且恢复正常的执行。
458
+ > 是一个内建的函数,可以让进入 ` panic ` 状态的 ` goroutine ` 恢复过来。` recover ` 仅在延迟函数中有效。在正常的执行过程中,调用` recover ` 会返回` nil ` ,并且没有其它任何效果。如果当前的` goroutine ` 陷入 ` panic ` 状态 ,调用` recover ` 可以捕获到` panic ` 的输入值,并且恢复正常的执行。
459
459
460
460
下面这个函数演示了如何在过程中使用` panic `
461
461
``` Go
You can’t perform that action at this time.
0 commit comments