1. 程式人生 > >約束和異常處理 20

約束和異常處理 20

asi acl clas ror logging模塊 多文件 約束 inf con

異常處理(處理,拋出異常,自定義異常)

  1. 產生異常, raise 異常類(), 拋出異常

  2.處理異常:

   try:

      xxxx # 嘗試執行的代碼

   except 異常類 as 變量 : 出現錯誤的時候,捕獲到異常

      xxxx # 處理異常

  3.自定義異常

    繼承 Exception

  4. 堆棧信息

    import traceback

    traceback.format_exc() 獲取堆棧信息

      

約束(難)

  約束是對子類進行的約束

  一 . 通過拋異常(簡單)

    在父類中給出一個方法 這個方法中什麽都不寫 . 就拋異常 . NotImplementError()

    # 重寫 子類對父類提供的方法不滿意. 重新定義這個方法

    重寫 子類重新定義父類中的方法.

    通過拋異常實現約束

  二 . 抽象類和抽象方法(Java,C#)

      接口 : 類中都是抽象方法 .

    from abc import ABCMeta, abstractmethod

    抽象方法 : 抽象方法不用給出方法體 . 寫個pass 就行了

    抽象類:

      語法 : 類(metaclass = ABCMeta)

      概念 : 如果類中包含了抽象方法 這個類一定是抽象類

      特點 : 抽象類一般不創建對象.

         抽象類中可以存在正常方法

      可以約束子類必須實現抽象方法

  MD5加密

    MD5加密: 不可逆

    引入模塊 hashlib

       1 創建md5對象

       2 把加密信息交給md5對象

       3 獲取密文

  日誌處理(重要, 簡單)

    引入 logging模塊

    簡單配置即可(basicConifg 單一日誌文件 fileHandler 文件助手可實現多文件操作)

    日誌級別:

      CRITICAL 最高級別

      ERRO 40

      WARN 30

      INFO 20

      DEBUG 10

日誌處理

約束和異常處理 20