go编程异常的处理是个很热的话题,不像java,可以使用try…catch来捕获异常,而是直接产生panic,中断程序的执行,
这样带来的一个问题就是,如果我在同一个目录下面,有几个协同工作的job,但是其中一个发生了panic,最终导致所有的job都会产生中断执行,
这明显从可靠性来说是很不合理的设计,因此go从设计上,强烈建议不要使用panic,除非你知道你自己是在做什么,
但是panic是避免不了的,那如何来处理panic的行为呢?
从上面的代码可以看出,如果status等于true,说明是panic发生了,反之,说明没有发生panic,这样就可以实现一些收尾的工作,
注意panic是不能跟defer交换的,那样defer就不会执行.