在go语言当中我们并没有想java那样的try/catch的机制来处理错误,在go中我们一般是用golang的 error
我们来写一个错误
package main
import (
"fmt"
"os"
)
func main() {
_,err:=os.Open("./error.txt")
if err!=nil{
fmt.Println("执行错误了,错误的原因是:",err.Error())
}
}
我们通过os模块打开一个error.txt的文件,但是实际上我们的目录并没有这个文件
我们来看下执行的结果:
我们可以看到报错我的信息,但是很多时候这个报错的信息显示的并不人性化,所以我们可以自定义一个error
package main
import (
"errors"
"fmt"
)
func main() {
err:=errors.New("这个一个自定义的错误信息")
fmt.Println(err.Error())
}
除此之外我们还有一个错误处理叫panic,它可以停止当前程序的运行,我们来尝试一下
package main
import (
"errors"
"fmt"
)
func main() {
err:=errors.New("这个一个自定义的错误信息")
panic(err)
fmt.Println("测试程序是否中断")
}
执行结果: