python中的異常示例

最常見的異常就是文件打開 時,找不到文件

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章