golang panic退出码是多少

前提

linux 有个命令 echo $? 输出上次执行的退出码 利用这个可以直接查看退出码

实验1

package main
func main() {
    panic("aaa")
}

发现golang panic 的退出码是2

再来一个实验

package main

import "os"

func main() {
    defer panic("aaa")
    os.Exit(3)
}

退出码是3,表示exit时不会执行defer函数

总结

  • os.Exit不要滥用,最好在main里使用
  • 最好不要在协程中使用,否则整个程序会停止
添加新评论