最常見的異常就是文件打開 時,找不到文件
try: f = open(“file.txt”,”r”) except IOError, e: print e
然後就是命名空間異常,也就是沒有定義這個變量或對象
try: s = None if s is None: print "s 是空對象" raise NameError #如果引發NameError異常,後面的代碼將不能執行 print len(s) except TypeError: print "空對象沒有長度"
還有就是違反運算法則的錯誤,兩個例子
def divide(a, b): try: return a / b except ZeroDivisionError as e: raise ValueError('Invalid inputs') from e x , y = 7, 3 try: result = divide(x, y) except ValueError: print('Invalid inputs') else: print('Result is %.1f' % result)
try: s = "hello" try: print s[0] + s[1] print s[0] - s[1] except TypeError: print "字符串不支持減法運算" except: print "異常"
文件的讀寫,可以用異常處理方式做的更完善
try: f = open("hello.txt", "r") try: print f.read(5) except: print "讀文件異常" finally: print "釋放資源" f.close() except IOError: print "文件不存在"
python中的常用異常如下:
AssertionError
AttributeError
IOError
ImportError
IndentationError
IndexError
KeyError
KeyboardInterrupt
NameError
SyntaxError
TypeError
UnboundLocalError
ValueError
參考
http://www.cnblogs.com/fnng/p/3518202.html