Python 列舉型別和異常處理

2021-08-04 07:18:28 字數 1996 閱讀 9146

使用列舉型別可以更加直觀的表示數值代表的意義

>>> 

from enum import enum, unique

>>>

@unique # 檢測重複

...

class

color

(enum):

... red = 1

... green = 2

... blue = 3

...

>>> c = color.red

>>> print(c)

color.red

>>> print(c.red)

color.red

>>>

>>> age = -1

>>>

while age == -1:

tmp = input('your age:')

try:

age = int(tmp)

except:

print('value error')

age = -1

your age:a

value error

your age:b

value error

your age:c

value error

your age:1

按異常型別捕獲

>>> 

try:

... f = open(input('filename:'))

... age = int(input("int:"))

... f.close()

...

except valueerror:

... print('int error')

...

except ioerror:

... print('open error')

...

filename:

xxopen error

>>>

finally處理必須執行的**

>>> f = none

>>>

try:

... f = open(input('filename:'), 'w')

... age = int(input("int:"))

...

except valueerror as e:

... print('int error', e)

...

except ioerror as e:

... print('open error', e)

...

finally:

...

if f:

... f.close()

...

filename:

***.***

int:

asdf

int error invalid literal for int() with base 10: 'asdf'

>>>

丟擲異常

>>> def div(x, y):

...if y == 0:

... raise valueerror('除數為0')

...else:

...return x / y

...

>>> div(1, 2)

0.5>>> div(1, 0)

traceback (most recent call last):

file "", line 1, in

file "", line 3, in div

valueerror: 除數為0

丟擲的異常可以統一在乙個地方進行捕獲

Python異常處理和異常型別

try some functions.except exception,e print e try some functions.except exception as e print e 注意這裡exception,e變成了exception as e 1.nameerror 嘗試訪問乙個未申明的...

Python異常和異常處理

python異常和異常處理 2017年12月20日 22 17 08 megustas jjc 閱讀數 114 標籤 python 異常處理 更多 個人分類 python while true filename raw input please input a file to open try da...

Python常見異常型別處理

目錄 前言 開發人員在編寫程式時,難免會遇到錯誤,有的是編寫人員疏忽造成的語法錯誤,有的是程式內部隱含邏輯問題造成的資料錯誤,還有的是程式執行時與系統的規則衝突造成的系統錯誤,等等。總的來說,編寫程式時遇到的錯誤可大致分為 2 類,分別為語法錯誤和執行時錯誤。語法錯誤,也就是解析 時出現的錯誤。當 ...