婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > GO語言標(biāo)準(zhǔn)錯(cuò)誤處理機(jī)制error用法實(shí)例

GO語言標(biāo)準(zhǔn)錯(cuò)誤處理機(jī)制error用法實(shí)例

熱門標(biāo)簽:工商信用卡外呼系統(tǒng)教程 海外照相館地圖標(biāo)注入駐 外呼系統(tǒng)如何接收服務(wù)密碼 旅游廁所如何電子地圖標(biāo)注 外呼系統(tǒng)多少錢一年 智能營銷軟件 經(jīng)常接到推銷電話機(jī)器人的電話 滁州自建外呼系統(tǒng) 客服級電銷機(jī)器人

本文實(shí)例講述了GO語言標(biāo)準(zhǔn)錯(cuò)誤處理機(jī)制error用法。分享給大家供大家參考。具體分析如下:

在 Golang 中,錯(cuò)誤處理機(jī)制一般是函數(shù)返回時(shí)使用的,是對外的接口,而異常處理機(jī)制 panic-recover 一般用在函數(shù)內(nèi)部。

error 類型介紹

error 類型實(shí)際上是抽象了 Error() 方法的 error 接口,Golang 使用該接口進(jìn)行標(biāo)準(zhǔn)的錯(cuò)誤處理。

復(fù)制代碼 代碼如下:
type error interface {
 Error() string
}

一般情況下,如果函數(shù)需要返回錯(cuò)誤,就將 error 作為多個(gè)返回值中的最后一個(gè)(但這并非是強(qiáng)制要求)。參考模型:
復(fù)制代碼 代碼如下:
func Foo(param int) (n int, err error) {
 // ...
}

if n, err := Foo(0); err != nil {
        // 錯(cuò)誤處理
}


這就是 error 的使用方法,與其他語言的異常相比,Golang 的方法相對更加容易、直觀。

代碼1:經(jīng)典使用方法

復(fù)制代碼 代碼如下:
package main

import (
 "errors"
 "fmt"
)

func requireDual(n int) (int, error) {
 if n1 == 1 {
  return -1, errors.New("您輸入不是雙數(shù)") //生成一個(gè)簡單的 error 類型
 }

 return n, nil
}

func main() {
 if result, err := requireDual(101); err != nil {
  fmt.Println("錯(cuò)誤:", err)
 } else {
  fmt.Println("結(jié)果:", result)
 }
}


輸出結(jié)果:

錯(cuò)誤: 您輸入不是雙數(shù)

你有沒有覺得 Golang 的這種錯(cuò)誤的處理機(jī)制非常的簡潔啊,呵呵!

代碼2:擴(kuò)充下上面的代碼,帶自定義參數(shù)的錯(cuò)誤輸出

復(fù)制代碼 代碼如下:
package main

import (
 "fmt"
)

type dualError struct {
 Num     int
 problem string
}

func (e dualError) Error() string {
 return fmt.Sprintf("參數(shù)不正確,因?yàn)閈"%d\"不是雙數(shù)", e.Num)
}

func requireDual(n int) (int, error) {
 if n1 == 1 {
  return -1, dualError{Num: n}
 }

 return n, nil
}

func main() {
 if result, err := requireDual(101); err != nil {
  fmt.Println("錯(cuò)誤:", err)
 } else {
  fmt.Println("結(jié)果:", result)
 }
}


輸出結(jié)果

錯(cuò)誤: 參數(shù)不正確,因?yàn)?101"不是雙數(shù)

希望本文所述對大家的GO語言程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Go語言中更優(yōu)雅的錯(cuò)誤處理
  • Golang巧用defer進(jìn)行錯(cuò)誤處理的方法
  • 詳解Go多協(xié)程并發(fā)環(huán)境下的錯(cuò)誤處理
  • Go語言中錯(cuò)誤處理實(shí)例分析
  • Go 自定義error錯(cuò)誤的處理方法
  • Golang中重復(fù)錯(cuò)誤處理的優(yōu)化方法
  • 一些關(guān)于Go程序錯(cuò)誤處理的相關(guān)建議

標(biāo)簽:運(yùn)城 喀什 深圳 九江 楚雄 晉城 湘潭 本溪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《GO語言標(biāo)準(zhǔn)錯(cuò)誤處理機(jī)制error用法實(shí)例》,本文關(guān)鍵詞  語言,標(biāo)準(zhǔn),錯(cuò)誤,處理,機(jī)制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《GO語言標(biāo)準(zhǔn)錯(cuò)誤處理機(jī)制error用法實(shí)例》相關(guān)的同類信息!
  • 本頁收集關(guān)于GO語言標(biāo)準(zhǔn)錯(cuò)誤處理機(jī)制error用法實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 双城市| 射阳县| 紫金县| 绥阳县| 通州区| 芦山县| 崇文区| 七台河市| 太仆寺旗| 乳源| 定陶县| 承德县| 东方市| 乡宁县| 襄樊市| 琼中| 锡林郭勒盟| 沽源县| 福州市| 泰安市| 特克斯县| 荆门市| 丘北县| 始兴县| 汉寿县| 广水市| 韶山市| 忻州市| 博白县| 都安| 汶川县| 缙云县| 寿阳县| 枣庄市| 焉耆| 烟台市| 济南市| 万安县| 南充市| 三亚市| 蒙城县|