本篇文章為大家展示了Go 語(yǔ)言的錯(cuò)誤處理有哪些,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)成立10余年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名與空間、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開(kāi)快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
掌握錯(cuò)誤處理
掌握自定義錯(cuò)誤處理
掌握defer關(guān)鍵字的使用
GO沒(méi)有異常處理機(jī)制
Go語(yǔ)言引入了一個(gè)關(guān)于錯(cuò)誤處理的標(biāo)準(zhǔn)模式,即error接口,該接口的定義如下: type error interface {
Error() string
}
可以通過(guò)errors.New快速創(chuàng)建錯(cuò)誤實(shí)例
errors.New("錯(cuò)誤信息")func Foo(param int)(n int, err error) {
// ...
}
//調(diào)用時(shí)的代碼建議按如下方式處理錯(cuò)誤情況:
n, err := Foo(0)
if err != nil {
// 錯(cuò)誤處理
} else {
// 使用返回值n
}func CopyFile(dst, src string) (w int64, err error) {
srcFile, err := os.Open(src)
if err != nil {
return
}
defer srcFile.Close()
dstFile, err := os.Create(dstName)
if err != nil {
return
}
defer dstFile.Close()
return io.Copy(dstFile, srcFile)
}類(lèi)似于Java中的finally
一個(gè)函數(shù)中可以存在多個(gè)defer語(yǔ)句
defer語(yǔ)句的調(diào)用是遵照 先進(jìn)后出的原則,即后一個(gè)defer語(yǔ)句將先被執(zhí)行。
panic用于不可以恢復(fù)的錯(cuò)誤
panic退出前會(huì)執(zhí)行defer指定的內(nèi)容
錯(cuò)誤恢復(fù)
defer func() {
if err :=recover();err != nil {
//恢復(fù)錯(cuò)誤
}
}()os.Exit 退出
os.Exit直接終止程序不會(huì)調(diào)用defer指定的函數(shù)
os.Exit退出時(shí)不會(huì)輸出當(dāng)前用調(diào)用棧信息
上述內(nèi)容就是Go 語(yǔ)言的錯(cuò)誤處理有哪些,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱(chēng)欄目:Go語(yǔ)言的錯(cuò)誤處理有哪些
URL網(wǎng)址:http://chinadenli.net/article42/jpcpec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站排名、建站公司、微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)、定制網(wǎng)站
聲明:本網(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)