Skip to main content
 首页 » 编程设计

python之如何获得自定义错误消息

2025年05月04日26jiqing9006

我有一个接受 2 个整数的基本类,但如果我想控制变量的赋值,我该怎么做并引发定义的错误消息(隐藏实现)。

即。

class MyClass(): 
    def __init__(self, var1, var2): 
       try: 
            if var1 < 5: 
                self.var1 = var1  
                self.var2 = var2  
             else: 
                  raise ValueError 
       except ValueError: 
             print('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') 

但是,创建一个装饰器来包装 __init__ 方法会更简洁:

def check_val(f): 
  def wrapper(cls, v1, v2): 
     if v1 >= 5: 
       raise MyException("Custom Error Message") 
     return f(cls, v1, v2) 
  return wrapper 
 
class MyClass(): 
  @check_val 
  def __init__(self, var1, var2): 
    self.var1 = var1  
    self.var2 = var2