本文主要是介绍2.13 异常处理2:以返回错误替代恐慌,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概述
- 通过恐慌报错的方式虽然直白有效,但动不动就崩溃显得有些暴力
- Go语言还给我们提供了一种相对温和但同样有效的异常解决方案,那就是同时返回结果和错误(error实例)
- 如果结果正确时错误为空,如果错误不为空时结果为空(或没有业务意义的默认值)
- 这种方式显得温和而辩证,兼容性好,也不会造成程序崩溃
- 至于究竟是严厉好还是温和兼容好,开发者们可以见仁见智
下面实例中的圆面积计算函数中:
- 如果调用者传入了一个负数半径,程序也不会panic,但是会返回一个提示错误的error实例,此时结果是毫无意义的默认值0
- 如果调用者传入了合法的半径,则返回正确结果和一个为空的error实例
package mainimport ("errors""fmt"
)func main() {//获得调用的结果ret, err := getCircleAreaII(5)//如果返回的错误不为空,则说明程序出现了异常
这篇关于2.13 异常处理2:以返回错误替代恐慌的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!