做类图的网站,网站业务功能设计,淘客做网站怎么备案,电子商务网站建设期末试卷答案目录 一、异常概念二、处理异常2.1 抛出异常2.2 使用 try-except 代码块2.3 使用 try-except-else 代码块2.4 静默失败 三、总结 遇到看不明白的地方#xff0c;欢迎在评论中留言呐#xff0c;一起讨论#xff0c;一起进步#xff01; 本文参考#xff1a;《Python编程欢迎在评论中留言呐一起讨论一起进步 本文参考《Python编程从入门到实践第2版》 一、异常概念
每当发生错误时Python 都会创建一个异常对象。 如果我们编写了处理该异常的代码程序将继续运行 如果未对异常进行处理程序将停止并显示 traceback其中包含有关异常的报告。
异常是使用 try-except 代码块处理的。try-except 代码块让 Python 执行指定的操作同时告诉 Python 发生异常时怎么办。使用 try-except 代码块时即便出现异常程序也将继续运行显示你编写的友好的错误消息而不是令用户迷惑的 traceback。
二、处理异常
2.1 抛出异常
我们知道不能用数除以 0 0 0但我们仍然这样做会发生什么呢
print(5/0)运行后这里我们看到一个 traceback
这里指出的错误 ZeroDivisionError 是个异常对象。
在这种情况下Python 将停止运行程序并指出引发了哪种异常而我们可根据这些信息对程序进行修改。这样如果再次发生此类错误我们就有备无患了。
2.2 使用 try-except 代码块
我们可以将错误的代码行放在 try 代码片中。 如果这个代码块运行起来没有问题Python 将跳过 except 代码块 如果出现问题Python 将查找与之匹配的 except 代码块并运行其中的代码。
try:print(5/0)
except ZeroDivisionError:print(You cant divide by zero!)运行结果为 这个结果是我们所容易接受的
2.3 使用 try-except-else 代码块
如果 try 代码块抛出异常即出现问题是会到 except 代码块中寻找对应的处理而跳过 else 代码块
try:answer 5/0 # 会出现问题
except ZeroDivisionError:print(You cant divide by zero!)
else:print(answer)执行结果为
如果 try 代码块执行正确没有出现问题则会执行 else 代码块而跳过 except 代码块。
try:answer 5/2 # 这里我们修改正确
except ZeroDivisionError:print(You cant divide by zero!)
else:print(answer)执行结果为
2.4 静默失败
Python 有一个 pass 语句可用于让 Pytho n在代码块中什么都不要做
try:answer 5/0
except ZeroDivisionError:pass # 什么都不做
else:print(answer)执行后我们发现什么都没有输出。
三、总结
异常是程序运行时可能遇到的非预期情况如除以零或文件未找到等。使用 try-except 代码块可以捕获并处理这些异常防止程序因错误而中断而 try-except-else 代码块则进一步允许在无异常发生时执行特定代码。静默失败是指程序在遇到错误时不显示任何错误信息继续执行。合理使用异常处理机制可以提高程序的健壮性和用户体验。