捕捉异常(2)

来源:互联网 发布:移动的网络电视怎么样 编辑:程序博客网 时间:2024/05/22 00:15
class MuffledCalculator:    muffled=False    def calc(self,expr):        try:            return eval(expr)        except ZeroDivisionError:            if self.muffled:                print 'Division by zero is illegal'            else:                raise

>>> calculator=MuffledCalculator()
>>> calculator.calc('10/2')
5
>>> calculator.calc('10/0')
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    calculator.calc('10/0')
  File "D:/ruanjian/Python/程序/P130.py", line 5, in calc
    return eval(expr)
  File "<string>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero
>>> calculator.muffled=True
>>> calculator.calc('10/0')
Division by zero is illegal
0 0
原创粉丝点击