我试图在golang中学习错误处理,以了解错误处理的工作原理。我有以下代码:
var a int8
var b int32
var err error
c := a + b //types mismatched error
if err != nil {
fmt.Println(err)
}
当我尝试使用:GoRun
在vim中运行此操作时,我得到类型不匹配的错误。
我的问题是,如果在编译期间发生错误甚至可能,我如何捕获该错误并将消息打印到屏幕?
答案 0 :(得分:1)
尝试在Go中添加两种不同的类型是编译时错误。该程序永远不会编译,因此永远不会运行,因此除了编写程序时,没有什么可以捕获的。
您只需检查err
从函数返回的时间。你在这里没有任何功能,所以你的err
永远不会被设置(除了你的代码不会编译)。
这与JavaScript或Perl之类的语言不同,后者没有严格的类型检查,因此你会遇到类似这样的事情的运行时错误。