基本的语法规则:
try:
except ..:
else:
finally:
int_var = 'we' try: n = int(int_var) except Exception as e: #如果异常被捕捉到,则执行此处 print (e) else: #执行了except的语句,就不执行这个。如果try中是没有异常,没有执行except中的语句。则执行这里。 print ('This is else.') finally: #不管怎么样,最后都会执行这里。 print ('end.....')
自定义异常,
print是默认调用__str__方法的。
raise是主动出发异常。
class LeslieError(Exception): def __init__(self,msg): self.message = msg def __str__(self): return self.message try: raise LeslieError('i am error....') except LeslieError as e: print (e)
断言:
使用assert 去断言后面的条件是否成立,如果不成立怎直接异常退出。我们一般不去捕获这个异常。assert后面的条件必须成成立才成执行之后的语句,否则退出。
a = 123 assert isinstance(a,str) print (a)