修改panic的描述

This commit is contained in:
hongruiqi
2012-08-31 13:04:58 +08:00
parent 4710166337
commit ff01e75ad4

2
2.3.md
View File

@@ -410,7 +410,7 @@ Go里面有一个不错的设计就是回调函数有点类似面向对象
Go没有例如像Java那样的异常机制不能抛出一个异常。作为代替它使用了panic和recover机制。一定要记得这应当作为最后的手段被使用你的代码中应当没有或者很少的令人恐慌的东西。这是个强大的工具明智的使用它。那么应该如何使用它。
Panic
>是一个内建函数可以中断原有的控制流程进入一个令人恐慌的流程中。当函数F调用panic函数F的执行被中断但是F中的延迟函数会正常执行然后F返回到调用它的地方。在调用的地方F的行为就像调用了panic。这一过程继续向上直到程序崩溃时的所有goroutine 返回。恐慌可以直接调用panic产生。也可以由运行时错误产生例如访问越界的数组。
>是一个内建函数可以中断原有的控制流程进入一个令人恐慌的流程中。当函数F调用panic函数F的执行被中断但是F中的延迟函数会正常执行然后F返回到调用它的地方。在调用的地方F的行为就像调用了panic。这一过程继续向上直到发生panic的goroutine中所有调用的函数返回,此时程序退出。恐慌可以直接调用panic产生。也可以由运行时错误产生例如访问越界的数组。
Recover
>是一个内建的函数可以让进入令人恐慌的流程中的goroutine恢复过来。Recover仅在延迟函数中有效。在正常的执行过程中调用recover会返回nil并且没有其他任何效果。如果当前的goroutine 陷入恐慌调用recover可以捕获到panic的输入值并且恢复正常的执行。