现在的位置: 首页 > 综合 > 正文

python语法31[异常处理]

2017年12月09日 ⁄ 综合 ⁄ 共 793字 ⁄ 字号 评论关闭

 

一 基本的异常处理

def TestTryException():
    
try:
        f 
= open('myfile.txt')
        s 
= f.readline()
        f.close()
        i 
= int(s.strip())
    
except IOError as ioerror :
        
print (ioerror)
    
except ValueError as valueerror:
        
print (valueerror)
    
except:
        
print ("Unexpected error")
    
else:
       
print (i)
    
finally:
       
print ("always running")
       
#TestTryException()

 

使用方式为try...except...else...finally,其中else和finally是可选项,finally不管是否有异常抛出总是会被执行。

 

二 自定义exception

class MyError(Exception):
     
def __init__(self, value):
         self.value 
= value
     
def __str__(self):
         
return repr(self.value)
         
def TestMyException():
  
try:
     
raise MyError(2*2)
  
except MyError as e:
    
print (e)
    
#TestMyException()

 

自定义的exception需要从python的Exception类继承,使用raise来抛出异常。

 

完!

 

抱歉!评论已关闭.