美文网首页
golang 错误处理

golang 错误处理

作者: 零一间 | 来源:发表于2019-07-09 17:54 被阅读0次

Go 语言使用 error 类型来返回函数执行过程中遇到的错误,如果返回的 error 值为 nil,则表示没有错误,否则 error 会返回一个说明错误的字符串。

其实 error 只是一个接口,定义如下:

type error interface {
    Error() string
}

你可以用任何类型去实现它(只要实现 Error() 方法即可)。

通过new 函数,生成简单的 error 对象

package main

import (
    "fmt"
    "iris/core/errors"
)

func run(code int) error {
    if code > 0 {
        return errors.New("这是一个错误")
    }
    return nil;
}

func main() {

    // 有错误
    err1 := run(601)
    fmt.Println(err1)

    // 无错误
    err2 := run(0)
    fmt.Println(err2)
}

通过实现Error()方法自定义错误


package main

import (
    "fmt"
    "time"
)

// 自定义错误
type myError struct {
    err   string
    time  time.Time
    appName string
}

func (myError *myError) Error() string {
    return fmt.Sprintf("AppName:%s Error:%s RequestTime:%s", myError.appName, myError.err, myError.time)
}

func AppErr(err string, appName string) *myError {
    return &myError{
        err:   err,
        time:  time.Now(),
        appName: appName,
    }
}

func run(code int) error {
    if code > 0 {
        return AppErr("这是一个自定义错误","UCenter");
    }
    return nil;
}

func main() {
    // 有错误
    err1 := run(601)
    fmt.Println(err1)

    // 无错误
    err2 := run(0)
    fmt.Println(err2)
}

相关文章

  • Golang快速开发框架——新增500错误处理模块和其页面(六)

    Golang快速开发框架——新增500错误处理模块和其页面(六) 背景 知识分享之Golang篇是我在日常使用Go...

  • Learn Golang in Days - Day 15-Go

    Learn Golang in Days - Day 15-Go错误处理 简介 Go语言通过内置错误接口提供了简单...

  • golang 错误处理

    Go 语言使用 error 类型来返回函数执行过程中遇到的错误,如果返回的 error 值为 nil,则表示没有错...

  • 如何优化Golang中重复的错误处理

    Golang 错误处理最让人头疼的问题就是代码里充斥着「if err != nil」,它们破坏了代码的可读性,本文...

  • Golang(十六)错误处理

    错误处理 1.1 什么是错误 错误是什么? 错误指出程序中的异常情况。假设我们正在尝试打开一个文件,文件系统中不存...

  • golang错误处理优化

    一般条件下golang的错误处理模式如下: 这种模式可以打印出错误,但是很难查找错误的文件或者位置,可以写一个公用...

  • Golang错误处理相关

    错误处理 统一实现任务处理 panic兜底处理 recover

  • Golang常用操作

    总结Golang在实际开发中的常用操作,以便快速查找 处理错误 包装一个错误处理函数,避免大量重复if err!=...

  • golang

    golang go和php的区别类型:go为编译性语言;php解释性语言错误:go的错误处理机制;php本身或者框...

  • Golang基础(四)-- 错误处理

    golang的错误处理和传统的try、catch不太一样,在做项目的时候为了写错误信息真的是适应了好半天。 最主要...

网友评论

      本文标题:golang 错误处理

      本文链接:https://www.haomeiwen.com/subject/oosfkctx.html