好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > GO語言標準錯誤處理機制error用法實例

GO語言標準錯誤處理機制error用法實例

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

本文實例講述了GO語言標準錯誤處理機制error用法。分享給大家供大家參考。具體分析如下:

在 Golang 中,錯誤處理機制一般是函數返回時使用的,是對外的接口,而異常處理機制 panic-recover 一般用在函數內部。

error 類型介紹

error 類型實際上是抽象了 Error() 方法的 error 接口,Golang 使用該接口進行標準的錯誤處理。

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

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

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


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

代碼1:經典使用方法

復制代碼 代碼如下:
package main

import (
 "errors"
 "fmt"
)

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

 return n, nil
}

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


輸出結果:

錯誤: 您輸入不是雙數

你有沒有覺得 Golang 的這種錯誤的處理機制非常的簡潔啊,呵呵!

代碼2:擴充下上面的代碼,帶自定義參數的錯誤輸出

復制代碼 代碼如下:
package main

import (
 "fmt"
)

type dualError struct {
 Num     int
 problem string
}

func (e dualError) Error() string {
 return fmt.Sprintf("參數不正確,因為\"%d\"不是雙數", 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("錯誤:", err)
 } else {
  fmt.Println("結果:", result)
 }
}


輸出結果

錯誤: 參數不正確,因為"101"不是雙數

希望本文所述對大家的GO語言程序設計有所幫助。

您可能感興趣的文章:
  • Go語言中更優雅的錯誤處理
  • Golang巧用defer進行錯誤處理的方法
  • 詳解Go多協程并發環境下的錯誤處理
  • Go語言中錯誤處理實例分析
  • Go 自定義error錯誤的處理方法
  • Golang中重復錯誤處理的優化方法
  • 一些關于Go程序錯誤處理的相關建議

標簽:運城 喀什 深圳 九江 楚雄 晉城 湘潭 本溪

巨人網絡通訊聲明:本文標題《GO語言標準錯誤處理機制error用法實例》,本文關鍵詞  語言,標準,錯誤,處理,機制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《GO語言標準錯誤處理機制error用法實例》相關的同類信息!
  • 本頁收集關于GO語言標準錯誤處理機制error用法實例的相關信息資訊供網民參考!
  • 推薦文章