IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【python学习】异常情况和异常处理-20 -> 正文阅读

[Python知识库]【python学习】异常情况和异常处理-20

异常情况:python代码在运行期间发生的错误

python异常情况:

异常名称描述
BaseException所有异常的基类
SystemExit解释器请求退出
KeyboardInterrupt用户中断执行(通常是输入^C)
Exception常规错误的基类
StopIteration迭代器没有更多的值
GeneratorExit生成器(generator)发生异常来通知退出
SystemExitPython 解释器请求退出
StandardError所有的内建标准异常的基类
ArithmeticError所有数值计算错误的基类
FloatingPointError浮点计算错误
OverflowError数值运算超出最大限制
ZeroDivisionError除(或取模)零 (所有数据类型)
AssertionError断言语句失败
AttributeError对象没有这个属性
EOFError没有内建输入,到达EOF 标记
EnvironmentError操作系统错误的基类
IOError输入/输出操作失败
OSError操作系统错误
WindowsError系统调用失败
ImportError导入模块/对象失败
KeyboardInterrupt用户中断执行(通常是输入^C)
LookupError无效数据查询的基类
IndexError序列中没有没有此索引(index)
KeyError映射中没有这个键
MemoryError内存溢出错误(对于Python 解释器不是致命的)
NameError未声明/初始化对象 (没有属性)
UnboundLocalError访问未初始化的本地变量
ReferenceError弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError一般的运行时错误
NotImplementedError尚未实现的方法
SyntaxErrorPython 语法错误
IndentationError缩进错误
TabErrorTab 和空格混用
SystemError一般的解释器系统错误
TypeError对类型无效的操作
ValueError传入无效的参数
UnicodeErrorUnicode 相关的错误
UnicodeDecodeErrorUnicode 解码时的错误
UnicodeEncodeErrorUnicode 编码时错误
UnicodeTranslateErrorUnicode 转换时错误
Warning警告的基类
DeprecationWarning关于被弃用的特征的警告
FutureWarning关于构造将来语义会有改变的警告
OverflowWarning旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning关于特性将会被废弃的警告
RuntimeWarning可疑的运行时行为(runtime behavior)的警告
SyntaxWarning可疑的语法的警告
UserWarning用户代码生成的警告

异常处理:编写了异常代码的话,程序也将会继续的执行操作

方法一:

使用:try....except....

(try....except....可以把python代码中遇到的问题直接抓到,并进行处理,然后让程序继续运行)

使用语法:try:

????????????????????????有可能出现异常的代码

????????????????except:

????????????????????????处理结果

错误示范:

print(a)

---------------打印结果---------------

 print(a)
NameError: name 'a' is not defined

打印会提示:NameError: name 'a' is not defined

(注:a没有进行指明是什么)

正常示范:

try:
    print(a)
except:
    print("请指明a的变量")


-------------打印结果-------------

请指明a的变量

抛出异常的用法:raise

作用:可以先执行其他处理后,再把异常打印出来

try:
    print(a)
except:
    print("请指明a的变量")
    raise

------------------打印结果------------------

请指明a的变量
print(a)
NameError: name 'a' is not defined




#当前我没有定义a变量的值
#然后在运行代码的时候,会直接执行print("请指明a的变量") 这条
#当执行完成后,再把异常抛出来
可以解释为:我要用车送东西,不知道车坏没坏?就会使用try...except...方法。如果车坏了(try),那么我就会考虑其他的办法(except),当送完后(except)里面完成后,那么使用raise办法告知哪里坏了

语法:try....except.....raise....else

作用:当try没有错误的时候,就是会选择else进行打印出来

a=10
try:
    print(a)
except:
    print("请指明a的变量")
    raise
else:
    print("a的值是{}".format(a))


----------------------打印结果----------------------

10                      #是通过print(a)打印的
a的值是10                #是通过print("a的值是{}".format(a))

语法:try....except.....raise....else....finally......

作用:当try有错误的时候,就是会执行except里面的,并且通过raise打印出异常情况,但是else不进行执行,finally会进行最后的执行。【注:finally不管try有没有报错都是会执行的】

如(异常情况):

try:
    print(a)
except:
    print("请指明a的变量")
    raise
else:
    print("a的值是{}".format(a))
finally:
    print("我管你报不报错,反正我一定是最后执行的")


-----------------打印结果-----------------

请指明a的变量
我管你报不报错,反正我一定是最后执行的

    print(a)
NameError: name 'a' is not defined

如(非异常情况):

a=10
try:
    print(a)
except:
    print("请指明a的变量")
    raise
else:
    print("a的值是{}".format(a))
finally:
    print("我管你报不报错,反正我一定是最后执行的")


----------------------打印结果----------------------

10
a的值是10
我管你报不报错,反正我一定是最后执行的

在except当中还可以带入对应错误基类代码

print(a)


--------------打印结果--------------

    print(a)
NameError: name 'a' is not defined

(如:上图代码当中系统提示了错误是:NameError)

那么我们在except 当中就是可以进行指明,

语法是:except? 错误基类? as? 声明一个变量

注:1、如果知道错误基类的话,可以在except 后面进行指明

? ? ? ? 2、如果是使用不同的错误基类的话,在操作过程中还是会报错,铺捉不到错误

? ? ? ? 3、在不知道错误基类的话,还可以使用万能错误基类:Exception

如下图当中的

try:
    print(a)
except NameError as e:
    print("a的原因是:",e)

------------------打印结果------------------

a的原因是: name 'a' is not defined

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 12:39:47  更:2021-11-11 12:40:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:36:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码