# -*- coding: utf-8 -*-
"""
try except else finally
try:尝试执行语句
except:try执行的语句抛出异常
else:如果执行try语句,则执行else语句。执行except语句不执行else中的语句
finally:不管执行try还是else都会执行finally中的语句
"""
class Cal:
def f(self,expr):
try:
eval(expr) #执行字符串表示的python表达式
except Exception as e:
print(e)
else:
print(eval(expr))
finally:
print("finish try except")
if __name__=="__main__":
c=Cal()
c.f("1+2") #执行try,else,finally
c.f("1/0") #执行except,finally
c.f("1/'a'") #执行except,finally
运行结果:
3
finish try except
division by zero
finish try except
unsupported operand type(s) for /: 'int' and 'str'
finish try except