@picone 主要是每层都要处理,而在 java 中下面一层抛出就不需要了。最外层捕获就行。好处就是代码干净,坏处就是不知道有没有处理,怎么处理的。要到最外层看下。当然一般 web 都会有个全局异常处理兜底。go 显式处理也有好处,每一步都知道自己干了什么,下一步改怎么干。坏处就是代码变的很长,干扰读代码的流程。