首页 > 代码库 > thrift的bug引发对Go异常处理机制的思考

thrift的bug引发对Go异常处理机制的思考

Go语言没有异常处理机制,大部分情况下只能用panic和recover。在这种机制下,函数体中的被调函数中出现的错误是无法处理的,只能静候崩溃。


今天我发现thrift在生成的RPC代码有空指针BUG导致程序崩溃,这个有BUG的函数如果被有try/catch的语言调用,至少是可以保证程序不崩溃的。但是在Go的机制下,我们只能放弃了RPC的某些功能。


由此,我认为GO的异常处理机制需要完善。