我是靠谱客的博主 机智耳机,最近开发中收集的这篇文章主要介绍Python:异常处理语句1.什么是异常2.try-except-else 错误处理语句3.try-except-finally-else 错误处理语句4.万能错误 Exception,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天,我们来学习异常处理。

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
不能输入字符!


怎么样,是不是很神奇?我们来看一下这个语句的每个部分。

  1. try:包含可能错误的代码。
  2. except:后面跟着要处理的错误,在下方缩进写入处理错误的代码。
  3. 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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部