Go语言没有异常处理机制,大部分情况下只能用panic和recover。在这种机制下,函数体中的被调函数中出现的错误是无法处理的,只能静候崩溃。
今天我发现thrift在生成的RPC代码有空指针BUG导致程序崩溃,这个有BUG的函数如果被有try/catch的语言调用,至少是可以保证程序不崩溃的。但是在Go的机制下,我们只能放弃了RPC的某些功能。
由此,我认为GO的异常处理机制需要完善。
thrift的bug引发对Go异常处理机制的思考,布布扣,bubuko.com
原文地址:http://my.oschina.net/promi/blog/288243