异常
概念
- 程序在运行期间,Python解释器遇到了错误,会停止程序额执行,并且提示一些错误信息,这就是异常。
- 程序停止执行并且提示错误信息这个动作就是抛出异常。
异常的捕获
简单的捕获异常
语法格式:
try:
尝试执行的代码
except:
处理异常
- try尝试,下方编写要尝试代码,不确定是否能够正常执行的代码
- except 如果不是,下面编写失败的代码
示例代码:
try:
num = int(input("请输入数字:"))
except:
print("请输入正确的数字")
错误类型捕获
- 在程序执行时,我们会遇到不同类型的错误,针对不同的错误,做出不同的响应。
语法格式:
try:
尝试运行的代码
except 错误类型1:
针对错误类型1进行对应代码处理
except 错误类型2:
针对错误类型2进行对应代码处理
except Exception as e:
print("未知错误%s" % e)
- 错误类型就是一个单词
示例代码:
# 提示用户输入一个整数
# 使用8除以用户的整数
try:
num = int(input("请输入一个整数:"))
except valueError:
print("请输入正确的整数")
except ZeroDivisionError:
print("除0错误")
except Exception as e:
print("未知错误%s" % e)
实际开发中,我们并不可能想到太多的错误,所有要未知错误。
异常完整写法
语法格式:
try:
尝试运行的代码
except 错误类型1:
针对错误类型1进行对应代码处理
except 错误类型2:
针对错误类型2进行对应代码处理
except Exception as e:
print("未知错误%s" % e)
else:
没有异常时执行的代码
finally:
无论是否有异常都会执行的代码
示例代码:
try:
num = int(input("请输入一个整数:"))
except valueError:
print("请输入正确的整数")
except ZeroDivisionError:
print("除0错误")
except Exception as e:
print("未知错误%s" % e)
else:
print("无异常")
finally:
print("程序执行完毕了")
异常的传递
- 当函数或者方法执行出现异常,会将异常传递给主程序,主程序如果没有处理异常,则程序终止。
示例代码:
def demo1():
return int(input("请输入一个整数:"))
def demo2():
return demo1()
try:
print(demo2())
except valueErroe:
print("请输入正确的整数")
except Exception as e:
print("未知错误%s" % e)
抛出异常
实际开发中,如果需要抛出异常,可以:
- 创建一个
Exception
的对象,使用raise
关键字抛出异常
示例代码:
def input_pwd():
pwd = input("请输入密码:")
if len(pwd) >= 8:
return pwd
exc = Exception("密码长度不够")
raise exc
try:
user_pwd = input_pwd()
print(user_pwd)
except Exception as e:
print("发现错误%s" % e)
以上就是本篇文章的内容,如果觉得有所帮助,麻烦点个在看。