Python:异常处理语句今天,我们来学习异常处理。
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代码的信息,训练有素的攻击者会根据这些信息对程序进⾏攻击。那该怎么办呢?
<-except-else 错误处理语句
try:
# 输出n的2倍
n =int(input("请输⼊⼀个数字:"))
except ValueError:
print("不能输⼊字符!")python新手代码错了应该怎么改
else:
print(n,"的2倍是",2*n)
输⼊数字:
请输⼊⼀个数字:11
11 的2倍是 22
输⼊字符:
请输⼊⼀个数字:abc
不能输⼊字符!
怎么样,是不是很神奇?我们来看⼀下这个语句的每个部分。
1. try:包含可能错误的代码。
2. except:后⾯跟着要处理的错误,在下⽅缩进写⼊处理错误的代码。
3. else:如果没有错误,则执⾏else内的语句
<-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错误来处理
好了,今天的课程就到这⾥了,感兴趣的可以收藏哦!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论