簡體   English   中英

如何處理 class 方法中的異常?

[英]how to handle exceptions inside a class method?

我正在嘗試處理 class 方法中的異常,其想法是,如果遇到異常,則該方法必須做一些事情並傳遞給另一個值。

這是我到目前為止得到的:

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然后忽略該值並繼續,以預期 output 可能如下所示的方式:

#1
#No value
#3

您在嘗試中傳遞了一個實例化錯誤,除了。 相反,您應該擁有:

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

except需要一個類型而不是實例化的 object。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM