Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何自定义错误消息?_Python_Python 3.x - Fatal编程技术网

Python 如何自定义错误消息?

Python 如何自定义错误消息?,python,python-3.x,Python,Python 3.x,我有一个接受2个整数的基本类,但是如果我想控制变量的赋值,我如何才能做到这一点并发出定义的错误消息(隐藏实现) 即 class MyClass(): 定义初始化(self,var1,var2): 尝试: 如果var1

我有一个接受2个整数的基本类,但是如果我想控制变量的赋值,我如何才能做到这一点并发出定义的错误消息(隐藏实现)

class MyClass():
定义初始化(self,var1,var2):
尝试:
如果var1<5:
self.var1=var1
self.var2=var2
其他:
升值误差
除值错误外:
打印('自定义错误消息')

您可以创建一个继承自
ValueError
的类:

class MyException(ValueError):
  pass
然后,简单地提出例外

class MyClass():
  def __init__(self, var1, var2):
    if var1 < 5:
       self.var1 = var1 
       self.var2 = var2 
    else:
       raise MyException('Custom Error Message')

您可以创建从
ValueError
继承的类:

class MyException(ValueError):
  pass
然后,简单地提出例外

class MyClass():
  def __init__(self, var1, var2):
    if var1 < 5:
       self.var1 = var1 
       self.var2 = var2 
    else:
       raise MyException('Custom Error Message')

当我创建继承ValueError的自定义错误类,然后在else语句中引发错误时,它会打印错误,但也会打印错误发生的行/文件信息。如何隐藏此实现细节以仅显示错误消息?@miweomnwirn文件和行信息是内置回溯的一部分,据我所知,无法抑制。为了缩短显示时间,可以使用
warnings.warn(“自定义警告”)
,然后使用
sys.exit()
当我创建继承ValueError的自定义错误类,然后在else语句中引发错误时,它会打印错误,但也会打印发生错误的行/文件信息。如何隐藏此实现细节以仅显示错误消息?@miweomnwirn文件和行信息是内置回溯的一部分,据我所知,无法抑制。要缩短显示时间,可以使用
warnings.warning(“自定义警告”)
,然后使用
sys.exit()
raisevalueerror(“自定义错误消息”)
raisevalueerror(“自定义错误消息”)