Golang 自定义包中的错误处理和 panicking
package main
import (
"errors"
"fmt"
)
// 定义一个自定义错误
var ErrInvalidInput = errors.New("invalid input")
// 一个可能会返回错误的函数
func mightFail() error {
// 假设这里有一些逻辑导致了失败
return ErrInvalidInput
}
// 一个调用可能会失败的函数的函数,并处理错误
func handleErrors() {
if err := mightFail(); err != nil {
// 如果发生错误,打印错误并退出
fmt.Println("An error occurred:", err)
// 如果需要,可以选择使用 panic 在错误严重到需要中止程序时
panic(err)
}
}
func main() {
handleErrors()
}
这段代码定义了一个自定义错误ErrInvalidInput
,并在函数mightFail
中返回这个错误。函数handleErrors
调用了mightFail
,并通过检查返回的错误来处理可能发生的失败。如果发生错误,它会打印错误消息并退出程序。如果错误严重到需要程序立即终止,可以选择使用panic
。这是一个简单的错误处理和异常管理的例子。
评论已关闭