自定义error 类型

package main

import (
	"errors"
	"fmt"
)

type errorCreateVolume struct {
	s string
}

func NewErrorCreateVolume(text string) error {
	return errorCreateVolume{text}
}

func (e errorCreateVolume) Error() string {
	return e.s
}
func IsErrorCreateVolume(err error) bool {
	var myErr errorCreateVolume
	if errors.As(err, &myErr) {
		return true
	}
	return false
}

func main() {
	err := NewErrorCreateVolume("create")
	err1 := errors.New("ceshi")
	if IsErrorCreateVolume(err) {
		fmt.Println("shi")
	}
	if !IsErrorCreateVolume(err1) {
		fmt.Println("bu shi")
	}
}

  

posted on 2024-04-25 14:18  running-fly  阅读(3)  评论(0编辑  收藏  举报

导航