首页 > 其他分享 >自定义error 类型

自定义error 类型

时间:2024-04-25 14:22:22浏览次数:20  
标签:return err 自定义 IsErrorCreateVolume func error 类型 errorCreateVolume

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")
	}
}

  

标签:return,err,自定义,IsErrorCreateVolume,func,error,类型,errorCreateVolume
From: https://www.cnblogs.com/zxqblogrecord/p/18157631

相关文章

  • 在Win10(Win11)或Win Server的WSL上自定义安装Ubuntu(无微软商店)
     在Win10(Win11)WinServer里的WSL上自定义安装Ubuntu(无微软商店) 什么是WSLWSL是Windows系统里的Linux子系统,WindowsSubsystemforLinux(WSL)。我们可以在WindowsServer2016(或Win10/Win11等)上安装UbuntuWindowsSubsystemforLinux(WSL),可以在不退出Windows系......
  • 什么是自定义导入钩子(import hooks),他的作用
    自定义导入钩子(importhooks)是Python的导入系统中的一种机制,允许开发者自定义模块的查找和加载过程。在Python中,导入模块通常涉及几个步骤:查找模块、加载模块、初始化模块和定义模块。导入钩子可以在这些步骤中的任意一个插入自定义行为。自定义导入钩子的主要作用是扩展或......
  • 如果要存ip地址,用什么数据类型比较好
    在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNEDINT)来存储IP地址,而不是使用字符串。 但是没有给出具体原因。 为了搞清楚这个原因,查了一些资料,记录下来。 相对字符串存储,使用无符号整数来存储有如下的好处: 节省空间,不管是数......
  • dotnet 已知问题 错误标记 MethodImplOptions.InternalCall 特性参数将会在类型访问之
    本文将记录一个dotnet的已知问题。当自己不小心在方法上不正确标记了MethodImplAttribute特性时,错误选择了MethodImplOptions.InternalCall参数,那将会在运行的过程在,在此类型被访问之前就抛出了System.TypeLoadException异常,错误信息是Internalcallmethodwithnon_NUL......
  • C++基础 变量和基本类型
    一个char类型的大小和一个机器字节一样。char在实现的时候会是unsignedchar和signedchar当中的一种,这与机器有关。wchar_t,char16_t,char32_t为国际化提供支持,这几种字符的字面值需要加前缀。C++标准规定数据的宽度:short<=int<=long<=longlong.当unsignedint和int进行运......
  • m基于FPGA的多功能信号发生器verilog实现,包含testbench,可以调整波形类型,幅度,频率,
    1.算法仿真效果vivado2019.2仿真结果如下:   输出正弦,并改变幅度,频率等。   输出方波,并改变幅度,频率等。   输出锯齿波,并改变幅度,频率等。   输出三角波,并改变幅度,频率等。 2.算法涉及理论知识概要       DDS(DirectDigitalSynthesis......
  • AWS S3 Lambda Python脚本函数执行时报错AttributeError: module ‘PIL‘ has no attr
    背景代码示例如下importPILdefadd_image(self,tag,img,step):summary=Summary()bio=BytesIO()iftype(img)==str:img=PIL.Image.open(img)eliftype(img)==PIL.Image.Image:passelse:img=scipy.misc.......
  • 自定义双向循环链表基本函数接口
    自定义双向循环链表的函数接口/********************************************************************* 文件名称: 双向循环链表的函数接口* 文件作者:[email protected]* 创建日期:2024/04/24* 文件功能:对双向链表的增删改查功能的定义* 注意事项:No......
  • WPF自定义FixedColumnGrid布局控件
    按照上一节所讲,我已经对布局系统又所了解。接下来我就实现一个布局控件FixedColumnGrid。1.基础版布局控件机制如下,FixedColumnGrid将子控件按照水平排列,每行满两列后换行。每个控件大小相同,高度固定为50。第一步,先重载测量和排列方法protectedoverrideSizeMeasureOverrid......
  • 基本数据类型
    1.变量命名规则C++命名规则:在名称中只能使用字母字符、数字和下划线(_)。名称的第一个字符不能是数字。区分大写字符与小写字符。不能将C++关键字用作名称。如果想用两个或更多的单词组成一个名称,通常的做法是用下划线字符将单词分开,如my_onions;或者从第二个单词......