...
一点例子
要不是考试要考,懒得看这俩货, 非高大上的项目估计用不到,提前处理下,不比用这个香
error 就是一个接口, 一个生成错误字符串的方法,总之就是和字符串有关系
type error interface {
Error() string
}
package main
import (
"errors"
"fmt"
"log"
)
func foo(x,y int) (int,error){
if y == 0 {
return y,errors.New("err emmit !!")
}
return x/y,nil
}
func main() {
fmt.Println("main begin")
if x,y := foo(3,2); y != nil{
log.Println(x,y)
}else {
log.Println(x,y)
}
//log.Println(foo(3,2))
fmt.Println("main exit")
}
...
panic 会翻车, 可以恢复
package main
import (
"fmt"
)
func foo(){
defer func(){
if err := recover(); err != nil {
fmt.Println(err)
}
}()
var bar = []int{1}
fmt.Println(bar[1])
}
func main(){
foo()
fmt.Println("exit")
}