funcmain(){ //defer必须在异常抛出之前 //下面如果有异常抛出(或人为panic) //则停止往下执行,跳转到defer后的代码块进行收尾工作 //即便不会抛出异常,最后也会执行defer后的代码进行收尾 //用recover处理异常信息,当err为空时,则证明没有任何异常抛出 //如果不为空,则进行异常处理 deferfunc(){ iferr:=recover();nil!=err{ fmt.Println(err) } fmt.Println("canshow..") }() f()}funcf(){ fmt.Println("heihei") panic("oh!error")//手工抛出异常,不管这里抛不抛异常,上面的defer都会在最后执行到 fmt.Println("hahah")//不在执行}总结
以上是内存溢出为你收集整理的golang学习的点点滴滴:异常机制全部内容,希望文章能够帮你解决golang学习的点点滴滴:异常机制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)