错误处理
为了支持简洁的链式调用,ImGo 的大部分方法没有返回错误信息的参数。
当发生异常情况时,ImGo 会收集这些错误信息,并打印在命令行。在发生错误的方法之后在调用其他ImGo 方法是不会生效的。
但我们仍然有办法去判断 ImGo 的方法是否发生错误,如下例所示。
package main
import (
"awesomeProject/imgo"
"fmt"
)
func main() {
err := imgo.Load("gopher.jpg").Save("out.png").Error
if err != nil {
fmt.Println("error:", err.Error())
} else {
fmt.Println("success")
}
}
ImGo 有个 Error 属性,用来记录 ImGo 的方法调用过程中的错误信息,当该属性不为 nil ,则表示发生了错误。
运行上例后,命令行输出如下。
[IMGO] 2022/06/18 17:03:57 /Users/wenyu/go/pkg/mod/github.com/fishtailstudio/[email protected]/loader.go:100 Error: open gopher.jpg: no such file or directory
error: /Users/wenyu/go/pkg/mod/github.com/fishtailstudio/[email protected]/loader.go:100 Error: open gopher.jpg: no such file or directory
复制链接