概述
今天,我们来学习异常处理。
1.什么是异常
异常,就是Python运行时发生的错误,如下方的例子:
# 输出n的2倍
n = int(input("请输入一个数字:"))
print(n, "的2倍是", 2*n)
输入数字是没有问题的,但是输入字符呢?
请输入一个数字:abc
Traceback (most recent call last):
File “C:/me/Python/n的2倍.py”, line 1, in < module >
n = int(input(“请输入一个数字:”))
ValueError: invalid literal for int() with base 10: ‘abc’
Traceback是Python的一个内置模块,主要用来提示异常信息。
Python引发了异常ValueError,提示’abc’不能转化为整数类型。
异常包含了有关于Python代码的信息,训练有素的攻击者会根据这些信息对程序进行攻击。
那该怎么办呢?
2.try-except-else 错误处理语句
try:
# 输出n的2倍
n = int(input("请输入一个数字:"))
except ValueError:
print("不能输入字符!")
else:
print(n, "的2倍是", 2*n)
输入数字:
请输入一个数字:11
11 的2倍是 22
输入字符:
请输入一个数字:abc
不能输入字符!
怎么样,是不是很神奇?我们来看一下这个语句的每个部分。
- try:包含可能错误的代码。
- except:后面跟着要处理的错误,在下方缩进写入处理错误的代码。
- else:如果没有错误,则执行else内的语句
3.try-except-finally-else 错误处理语句
try:
# 输出n的2倍
n = int(input("请输入一个数字:"))
except ValueError:
print("不能输入字符!")
finally:
print("程序运行结束")
else:
print(n, "的2倍是", 2*n)
在上述代码中,我们加入finally语句,try的代码无论是否出现异常,它都会执行缩进了的代码。
注意:如果一个错误处理语句同时存在finally和else,必须把finally语句放在else语句前面,否则会报错!
当然,在错误处理语句中,也可以只有try和except。
4.万能错误 Exception
try:
# 输出n的2倍
n = int(input("请输入一个数字:"))
except ValueError:
print("不能输入字符!")
except Exception:
print("错误!")
finally:
print("程序运行结束")
else:
print(n, "的2倍是", 2*n)
这次我们使用了Exception错误,这是一个无论发生什么错误都会触发的异常,在Traceback不会显示,只能用except进行捕捉。
提示:Exception错误处理应该排在except语句的最后,就像普通的异常无法处理这个错误,就让“特种兵”Exception错误来处理
好了,今天的课程就到这里了,感兴趣的可以收藏哦!
最后
以上就是机智耳机为你收集整理的Python:异常处理语句1.什么是异常2.try-except-else 错误处理语句3.try-except-finally-else 错误处理语句4.万能错误 Exception的全部内容,希望文章能够帮你解决Python:异常处理语句1.什么是异常2.try-except-else 错误处理语句3.try-except-finally-else 错误处理语句4.万能错误 Exception所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复