错误(Error)
- 一、GO+ 概述
- 二、定义
- 三、error类型定义
- 四、错误处理机制
官方线上GO+练习环境:https://play.goplus.org/
一、GO+ 概述
Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。
二、定义
Go+ 错误处理,Go+ 语言通过内置的错误接口提供了非常简单的错误处理机制。
三、error类型定义
error类型是一个接口类型,这是它的定义:
在go+语言中,默认情况下,当程序发生错误(panic),程序就会崩溃退出。如果我们希望当程序发生错误后,可以捕获错误,并处理错误,保证程序继续执行。还可以在捕获错误后发出预警信息(邮件、信息),这就要错误处理。
四、错误处理机制
Go+ 不像Java那样支持 try…catch…finally语法,GO+引入了defer,panic,recover。简单描述就是GO+抛出panic异常,在defer中通过recover捕获异常并处理。
Go +语言通过内置的错误接口提供了非常简单的错误处理机制。
error类型是一个接口类型,这是它的定义:
我们可以在编码中通过实现 error 接口类型来生成错误信息。
函数通常在最后的返回值中返回错误信息。使用errors.New 可返回一个错误信息
内建error接口类型是约定用于表示错误信息,nil值表示无错误。
在下面的例子中,我们尝试创建一个非法的目录,会被编译器提示错误,请看下面调用的示例代码:
import(
"os"
)
_, err := os.Create("/tm%p/file")
if err != nil {
println("错误:", err.Error())
}
运行结果是:
参考文档: https://github.com/goplus/gop/wiki/Error-Handling.