Golang 错误 和 异常 处理的正确姿势
错误和异常是两个不同的概念,非常容易混淆。很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误。从表面上看,一切皆错误的思路更简单,而异常的引入仅仅增加了额外的复杂度。但事实并非如此。众所周知,Golang 遵循“少即是多”的设计哲学,追求简洁优雅,就是说如果异常价值不大,就不会将异常加入到语言特性中。1. 错误 和 异常 区别错误和异常从 Golang 机制上讲,就是 error 和 panic 的区别。很多其他语言也一样,比如 C++/Java,errno / throw。Golang 中引入 error 接口类型作为错误处理... ...阅读全文