Python物件導向程式設計(四)

2022-05-30 15:00:43 字數 2734 閱讀 7497

第40個:基本異常處理

1

while

true:

2 num1 = input("

num1:")

3 num2 = input("

num2:")

4try

: #try塊裡放正常的**

5 num1 = int

(num1)

6 num2 = int

(num2)

7 num3 = num1 +num2

8print(num3)

9 except exception as

ex:

10# ex是exception類的物件,物件裡可以封裝錯誤資訊

11# 不報錯永遠不執行;報錯自動執行ex

#exception 是捕獲所有的錯誤型別

12 print('你的輸入有誤!')

第41個:異常型別

1

while

true:

2try

: # try塊裡放正常的**

3 li =

4 li[10]5

6 except indexerror as

ex: # indexerror錯誤只會捕獲到index錯誤,其他的錯誤資訊捕獲不到

7print(ex)

8 except valueerror as

ex: # valueerror錯誤只會捕獲到value錯誤,其他的錯誤資訊捕獲不到

9print(ex)

1011! except exception as

ex: #會捕獲所有的異常。如果寫在所有捕獲的型別前,indexerror等就不會捕獲了

12 print(ex)

常用異常:

attributeerror 試圖訪問乙個物件沒有的樹形,比如foo.x,但是foo沒有屬性x

ioerror 輸入/輸出異常;基本上是無法開啟檔案

importerror 無法引入模組或包;基本上是路徑問題或名稱錯誤

indentationerror 語法錯誤(的子類) ;**沒有正確對齊

indexerror 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]

keyerror 試圖訪問字典裡不存在的鍵

keyboardinterrupt ctrl+c被按下

nameerror 使用乙個還未被賦予物件的變數

syntaxerror python**非法,**不能編譯(個人認為這是語法錯誤,寫錯了)

typeerror 傳入物件型別與要求的不符合

unboundlocalerror 試圖訪問乙個還未被設定的區域性變數,基本上是由於另有乙個同名的全域性變數,

導致你以為正在訪問它

valueerror 傳入乙個呼叫者不期望的值,即使值的型別是正確的

更多異常:

arithmeticerror

assertionerror

attributeerror

baseexception

buffererror

byteswarning

deprecationwarning

environmenterror

eoferror

exception

floatingpointerror

futurewarning

generatorexit

importerror

importwarning

indentationerror

indexerror

ioerror

keyboardinterrupt

keyerror

lookuperror

memoryerror

nameerror

notimplementederror

oserror

overflowerror

pendingdeprecationwarning

referenceerror

runtimeerror

runtimewarning

standarderror

stopiteration

syntaxerror

syntaxwarning

systemerror

systemexit

taberror

typeerror

unboundlocalerror

unicodedecodeerror

unicodeencodeerror

unicodeerror

unicodetranslateerror

unicodewarning

userwarning

valueerror

warning

zerodivisionerro

第42個:主動觸發異常

第43個:自定義異常和斷言

物件導向程式設計 四

主要說一說 this吧!兩個以上的構造方法當他們的方法體有重複的 的時候,我們可以使用 this 關鍵字呼叫前乙個構造方法,從而省略大量的 如這樣 this 但是有一點需要記住,那就是在寫著行 的時候,其一定要位於構造方法中的首行.this 可以呼叫 本類中的屬性,方法 和 構造方法.歸結一點 th...

物件導向程式設計(四)

記住這句話 屬性私有,get set 快捷鍵 alt insert 生成 get set package com.oop import com.oop.demo04.student 1.提高程式的安全性,保護資料 2.隱藏 的實現細節 3.統一介面 4.提高系統的可維護性 public class ...

Python物件導向(四)

如果在子類中需要父類的構造方法就需要顯示的呼叫父類的構造方法,或者不重寫父類的構造方法。詳細說明可檢視 python 子類繼承父類建構函式說明。在呼叫基類的方法時,需要加上基類的類名字首,且需要帶上 self 引數變數。區別在於類中呼叫普通函式時並不需要帶上 self 引數 python 總是首先查...