首页 > 代码库 > Python 学习第三弹:异常情况如何处理?
Python 学习第三弹:异常情况如何处理?
python 的处理错误的方式:
1> 断言
assert condition 相当于 if not condition: crash program 断言设置的目的就是因为与其让程序晚点崩溃,不如直接设置错误情况,让它直接崩溃 >>> age = -1 >>> assert 0 < age < 100 AssertionError
2> 捕捉异常
try: x = input() y = input() print(x/y) except ZeroDivisionError: print("Division by Zero") 类似这样try/except形式就是来捕捉可能发生的异常错误,一旦出现ZeroDivisionError错误信息,则运行except ZeroDivisionError之后的代码 通过多个except来捕捉不同错误信息 def calc(expr): try: return eval(expr) except ZeroDivisionError: print("Divison by zero") except TypeError: print(‘This is not a number?‘) 一个块捕捉多个错误信息 def calc(expr): try: return eval(expr) except (ZeroDivisionError, TypeError): print("Input has some bugs") 打印错误信息 def calc(expr): try: return eval(expr) except (ZeroDivisionError, TypeError) as error: print(error) 对于其他错误信息处理 def calc(expr): try: return eval(expr) except ZeroDivisionError: print("Divison by zero") except: print(‘haha, something unknown happened!‘) else语句用于不出现错误信息 def calc(expr): try: return eval(expr) except ZeroDivisionError: print("Divison by zero") else: print("Oh, it goes well!") 此外还有finally语句,无论是否错误均会执行 实际应用:(输入表达式直到可以计算) while True: try: print(eval(input())) except: print(‘Please reinput until you input the correct expression!‘) else: break; finally: print(‘I love the world whatever!‘) #即使else中break也会执行finally
Python 学习第三弹:异常情况如何处理?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。