【问题标题】:how to handle exceptions inside a class method?如何处理类方法中的异常?
【发布时间】:2021-04-09 22:27:48
【问题描述】:

我正在尝试在类方法中处理异常,其想法是,如果遇到异常,则该方法必须做一些事情并传递给另一个值。

这是我目前得到的:

class test_class():
    
      def just_a_function(self, value):
          if value is None:
              print('No value')
              raise TypeError('No value')
          else:
              print(value)
              
      def applying_function(self, value):
          # doing some stuff like print('something')

          try:
            self.just_a_function(value)

          except TypeError('No value'):
           # do some other stuff like print('other options')
            pass

应用时:

# applying #
values=[1,None,3]      
  
if __name__=="__main__":
    
     just_a_class = test_class()
     for value in values:
         just_a_class.applying_function(value)

出现下一个错误:

TypeError:不允许捕获不继承自 BaseException 的类

有没有办法将applying_function() 转换为如果None 则忽略该值并继续的形式,预期输出可能如下所示:

#1
#No value
#3

【问题讨论】:

    标签: python oop exception try-catch


    【解决方案1】:

    您在尝试中传递了一个实例化错误,除了。相反,您应该:

    try:
       self.just_a_function(value)
    except TypeError as e:
       pass
    

    except 需要一个类型而不是实例化对象。

    【讨论】:

      猜你喜欢
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      相关资源
      最近更新 更多