golang的panic与recover
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang的panic与recover相关的知识,希望对你有一定的参考价值。
参考技术A panic的作用就是抛出一条错误信息,从它的参数类型可以看到它可以抛出任意类型的错误信息。在函数执行过程中的某处调用了panic,则立即抛出一个错误信息,同时函数的正常执行流程终止,但是该函数中panic之前定义的defer语句将被依次执行。之后该goroutine立即停止执行。recover()用于将panic的信息捕捉。recover必须定义在panic之前的defer语句中。在这种情况下,当panic被触发时,该goroutine不会简单的终止,而是会执行在它之前定义的defer语句。
建议每起一个goroutine,都defer统一捕获下异常
谨记用defer统一捕获异常只对当前的goroutine有效,goroutine的异常并不会向上传递给main主函数
以上是关于golang的panic与recover的主要内容,如果未能解决你的问题,请参考以下文章