异常处理
Posted sun-10387834
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。
一,什么是异常和错误?
异常和错误是不同的概念,错误大都是指python语法上的错误,编译时就会报错。异常是指不符合客观逻辑,或者逻辑上产生得到错误,比如res=1/0,,就是一个异常。
错误:
1 if True 2 print("a")
异常:
1 res=1/0 2 print(res) # 打印错误信息:ZeroDivisionError: division by zero
二,如何处理异常?
异常的处理可以使用if判断进行处理(low的方式),最常用的是使用try except进行捕获。
使用try except进行捕获处理:
1 inp = input("请输入数字:") 2 try: 3 inp = int(inp) # 主程序 4 except Exception as e: # 万能异常类 5 print(e) 6 else: # 如果程序没有异常发生时执行 7 print("程序没有任何异常!") 8 finally: # 无论程序有没有异常都会执行 9 print("这是finally方法!")
三,异常其他相关
raise抛出异常(可用于主动抛出一个异常):
1 #Author : Kelvin 2 #Date : 2019/1/27 20:33 3 4 inp = int(input("请输入数字:")) 5 if inp==1: 6 print("程序正常执行!") 7 else: 8 raise ValueError("输入的数值太大!")
assert断言(判断assert后面的条件是否成立,再决定是否执行assert后面的代码):
1 #Author : Kelvin 2 #Date : 2019/1/27 20:39 3 4 print("打印的第一个语句!") 5 6 assert 1==1 #如果判断结果为True,则继续执行后面的代码 7 8 print("打印的第二个语句!") 9 10 """输出结果: 11 打印的第一个语句! 12 打印的第二个语句! 13 """
1 #Author : Kelvin 2 #Date : 2019/1/27 20:39 3 4 print("打印的第一个语句!") 5 6 assert 1==2 #如果判断结果为False,则停止执行后面的代码 7 8 print("打印的第二个语句!") 9 10 """输出结果: 11 打印的第一个语句! 12 Traceback (most recent call last): 13 File "C:/Users/Administrator/PycharmProjects/day07/异常/assert.py", line 6, in <module> 14 assert 1==2 #如果判断结果为False,则停止执行后面的代码 15 AssertionError 16 """
以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章
java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段