成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

golangexceptionerror異常錯(cuò)誤處理-創(chuàng)新互聯(lián)

golang exception error 異常 錯(cuò)誤 處理

錯(cuò)誤和異常的區(qū)別是,錯(cuò)誤是業(yè)務(wù)邏輯的一部分,異常不是。而且異常有可能終止業(yè)務(wù)邏輯。在golang中,異常不要用來(lái)代替錯(cuò)誤,更不要用來(lái)控制流程。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了合浦免費(fèi)建站歡迎大家使用!

golang提供了panic, recover和defer來(lái)實(shí)現(xiàn)異常的拋出和捕捉。

函數(shù)中調(diào)用panic()拋出異常后,程序會(huì)馬上中止當(dāng)前的運(yùn)行,跳轉(zhuǎn)到延時(shí)調(diào)用(defer語(yǔ)句),如果defer中調(diào)用了recover(),則異常被捕捉,程序繼續(xù)執(zhí)行;否則,當(dāng)前函數(shù)的defer執(zhí)行完后返回到上一個(gè)調(diào)用函數(shù)執(zhí)行defer,如果到最頂層函數(shù)都沒(méi)遇到recover(),程序崩潰打印出調(diào)試信息并終止。

package main

import (
	"fmt"
	//"github.com/handsomestWei/go-exception/exception"

	"github.com/manucorporat/try"
	//"github.com/qianlnk/exception"
)
func fun() {defer fmt.Println("defer 1")
	defer fmt.Println("defer 2")
	fmt.Println("fun")
}
func main() {//fun()

	//faa()
	//fmt.Println("Returned normally from f.")

	try.This(func() {panic("my panic")

	}).Finally(func() {fmt.Println("this must be printed after the catch")

	}).Catch(func(e try.E) {// Print crash
		fmt.Println("aaaaa")
		fmt.Println(e)
		fmt.Println("bbbbb")
	})

	//tr := exception.New()
	//tr.Try(
	//	func() {//		n1, err := strconv.Atoi("123a")
	//		tr.Throw(err)
	//		n2, err := strconv.Atoi("0")
	//		tr.Throw(err)
	//		res := n1 / n2
	//		fmt.Println(res)
	//	},
	//).Catch(
	//	func(e exception.Exception) {//		fmt.Println("exception:", e)
	//	},
	//)

	//tr := exception.NewTrier()
	//tr.Try(func() {//	// 函數(shù)體
	//	n1, err := strconv.Atoi("123")
	//	tr.Throw(err)
	//	n2, err := strconv.Atoi("qwe")
	//	tr.Throw(err)
	//	res := n1 / n2
	//	fmt.Println(res)
	//}).Catch(func(e exception.Exception) {//	// 捕獲異常和異常處理
	//	fmt.Println("exception:", e)
	//}).Finally(func() {//	// 事后處理
	//	fmt.Println("finally")
	//})
}

func faa() {fmt.Println("Calling g(0).")
	g(0)
	fmt.Println("Returned normally from g(0).")
}
func g(i int) {defer func() {if r := recover(); r != nil {	fmt.Println("Recovered in g", r)
		}
	}()
	defer fmt.Println("Defer in g", i)
	fmt.Println("Panic!")
	panic("panic in g")
	fmt.Println("Printing in g", i)
}

參考鏈接:
http://blog.chinaunix.net/uid-24716553-id-5692869.html
https://github.com/manucorporat/try
https://github.com/handsomestWei/go-exception
https://github.com/qianlnk/exception
https://golangtc.com/t/592aee76b09ecc1870000090

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:golangexceptionerror異常錯(cuò)誤處理-創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article2/dephic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站設(shè)計(jì)手機(jī)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)服務(wù)器托管、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
扎兰屯市| 杭锦后旗| 明水县| 宜阳县| 凤凰县| 宝丰县| 云林县| 泸水县| 东阳市| 黎川县| 济阳县| 磐石市| 喀喇| 巴里| 东安县| 拉萨市| 弋阳县| 盐城市| 镇康县| 济阳县| 吴旗县| 望城县| 高邑县| 昆明市| 射阳县| 靖安县| 万山特区| 长垣县| 梁河县| 林州市| 娱乐| 揭东县| 广河县| 济阳县| 榆中县| 海城市| 云霄县| 陆丰市| 当雄县| 扎囊县| 白银市|