python异常处理中,在try except的基础上还提供了else代码块,如果try代码块中的程序未发生异常,执行完毕后会继续执行else代码块的内容。如果try代码块部分发生异常,则进入except部分处理异常无缘进入else部分。
从整体上看,使用else会给人一种流程判断的感觉,使逻辑更加严谨。
注意事项:在异常处理语句中的else必须和try及except搭配使用,不能单独和try配合;此外,else不能像except一样可以出现多次。
# -*- coding: utf-8 -*-
try:
print(1)
print(2)
print(3)
except NameError as e:
print('出错!打印未定义变量',e)
except ZeroDivisionError as e:
print('出错!除以0',e)
except IndexError as e:
print('出错!列表索引异常',e)
except:
print('未知异常')
else:
print('本次程序一切顺利')
1
2
3
本次程序一切顺利
# -*- coding: utf-8 -*-
try:
print(5)
print(6)
print(7)
print(name)
except NameError as e:
print('出错!打印未定义变量',e)
except ZeroDivisionError as e:
print('出错!除以0',e)
except IndexError as e:
print('出错!列表索引异常',e)
except:
print('未知异常')
else:
print('本次程序一切顺利')
5
6
7
出错!打印未定义变量 name 'name' is not defined