在开发中遇到这样的一种情况,程序中出现了空指针异常:panic: runtime error: invalid memory address or nil pointer dereference,这个时候程序自动退出运行了!我知道golfing可以是用panic recover来实现异常的捕获,但是这种运行时异常要怎么捕获,这样才能保证程序不挂呢?求高手指教!
更多评论
我发现了,在新线程中panic不会抛到主线程中,所以必须在新线程中对进行defer和recover。经过验证,只要新线程做了defer和recover,就能避免程序崩溃。不知道我的理解对不对,不过代码确实能正常运行并且不crash了
#2