欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

golang中recover的用法

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)golang中recover的用法,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):溫江服務(wù)器租用,成都服務(wù)器租用,溫江服務(wù)器租用,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。

recover

雖然沒有try catch機(jī)制,Go其實(shí)有一種類似的recover機(jī)制,功能弱了點(diǎn),用法很簡(jiǎn)單:

package main
import "fmt"
func main() {
fmt.Printf("%d\n", cal(1, 2))
fmt.Printf("%d\n", cal(5, 2))
fmt.Printf("%d\n", cal(5, 0))
fmt.Printf("%d\n", cal(9, 2))
}
func cal(a, b int) int {
defer func() {
if err := recover(); err != nil {
fmt.Printf("%s\n", err)
}
}()
return a / b
}

首先,大家得理解defer的作用,簡(jiǎn)單說defer就類似于面向?qū)ο罄锩娴奈鰳?gòu)函數(shù),在這個(gè)函數(shù)終止的時(shí)候會(huì)執(zhí)行,即使是panic導(dǎo)致的終止。

所以,在cal函數(shù)里面每次終止的時(shí)候都會(huì)檢查有沒有異常產(chǎn)生,如果產(chǎn)生了我們可以處理,比如說記錄日志,這樣程序還可以繼續(xù)執(zhí)行下去。

package main

import (
        "errors"
        "fmt"
        "math"
)

func main() {
        _, err := IntFromInt64(math.MaxInt32 + 1)
        if err != nil {
                fmt.Println(err)
        }
}

func ConvertInt64ToInt(i64 int64) int {
        if math.MinInt32 <= i64 && i64 <= math.MaxInt32 {
                return int(i64)
        }
        panic("can't convert int64 to int")
}

func IntFromInt64(i64 int64) (i int, err error) {//這里
        defer func() {
                if err2 := recover(); err2 != nil {
                        i = 0//這里
                        err = errors.New("ttt")//這里
                }
        }()
        i = ConvertInt64ToInt(i64)
        return i, nil
}

主要思想:return之前利用defer修改返回變量(提前確定為i和err)的值

關(guān)于golang中recover的用法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

標(biāo)題名稱:golang中recover的用法
文章轉(zhuǎn)載:http://aaarwkj.com/article46/gdspeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化營(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í)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
免费在线观看性生活视频| 日本高清免费中文字幕| 国产精品—色哟哟视频| 国产三级视频在线观看视频| 自拍日韩亚洲一区在线| 天天日天天天干夜夜操| 国产成人精品高清国产三级| 亚洲av香蕉一区二区| 熟年人妻一区二区三区| 爽妇网亚洲一区二区三区| 日本人妻久久中文字幕精品| 亚洲禁看av一区不卡| 二区三区成人在线观看| 高清区一区二区在线播放| 国产成人综合在线观看网站| 在线看电影亚洲一区| 欧美另类精品一区二区三区| 精品妇女一区二区三区| 欧美日韩另类综合久久久| 男女裸体做爰一进一出视频| 国产日韩精品一区二区在线| 激情五月开心五月麻豆| 91在线免费观看国产精品| 91国产性感美女视频| av永久免费观看网站| 东京热一区二区电影| 亚洲欧洲中文字幕一区二区| 国产成人亚洲合色婷婷| 亚洲国产中日韩精品综合| 精品一区二区日韩在线| 后入蜜桃臀美女在线观看| 亚洲,日韩,欧美久久综合| 男女午夜激情四射视频| 成人av男人天堂东京热| 午夜久久精品国产亚洲av| 五月婷婷丁香婷婷丁香| 亚洲天堂日韩欧美在线一区| 免费看欧美粗又大爽老| 国产一区二区高清不卡| 久久99热最新地址获取| 精品人妻av中文字幕乱|