所在的位置: php >> php发展 >> PHPer的Go之路异常处理

PHPer的Go之路异常处理

北京白癜风最好的医院 https://yyk.familydoctor.com.cn/2831/

panic

php使用try...catch对异常进行捕获和处理,在go中使用panic抛出。

packagemainimportfmtfuncmain(){deferfunc(){fmt.Println(defer会执行)}()a:=0if(a==0){panic(除数是0)}c:=/afmt.Printf(上面出现异常,不会执行到这里)fmt.Printf(%d,c)}

recover

在php中对异常的捕获和处理,避免程序崩溃,使用的是try...catch...finally,在go中,对应的实现方式是:通过recover()函数对panic进行捕获和处理,panic的捕获和其他代码的恢复执行需要放到defer语句中完成。

packagemainimportfmtfuncmain(){deferfunc(){iferr:=recover();err!=nil{fmt.Printf(程序执行报错了:%v\n,err)}}()a:=0if(a==0){panic(除数是0)}c:=/afmt.Printf(上面出现异常,不会执行到这里)fmt.Printf(%d,c)}




转载请注明:http://www.aierlanlan.com/tzrz/2458.html