异常处理主要有两种形式的语法:
(1)try---except---else(2)try--except--finally
类型一:
# 语法规范# 当try语句执行出现错误,会自动匹配错误,如果匹配成功,会执行该条的语句。# 如果没匹配到错误,就执行else
'''try : 语句1except 错误码1 as e: 语句2 ...
except 错误码n as e: 语句nelse: 语句'''
# 语法规范# 当try语句执行出现错误,会自动匹配错误,如果匹配成功,会执行该条的语句。# 如果没匹配到错误,就执行else'''try : 语句1except 错误码1 as e: 语句2 ...except 错误码n as e: 语句n else: 语句'''# 案例1try: print(3/0)except ZeroDivisionError as e: print("除数为0错误!")else: print("代码没有错误!")# 案例2:使用except带着多种异常,写到一个小括号try: print(3/0)except (NameError,ZeroDivisionError) as e: print("除数为0错误!或名字错误!")else: print("代码没有错误!")# 案例3 多个异常的顺序问题try: print(3 / 0)except BaseException as e: print("异常1")except ZeroDivisionError as e: print("异常2!")else: print("代码没有错误!")'''输出是:异常1'''# 说明:如果父类的异常处理在前边的话,会首先匹配到父类的异常信息
类型二:
# 【2】第二种处理机制
'''try --except--finally'''
# finally是不管发生异常与否都会执行的!# 比如:打开文件,就得一定要用finaly进行关闭