返回顶部
首页 > 资讯 > 后端开发 > Python >python基础学习15----异常处理
  • 435
分享到

python基础学习15----异常处理

异常基础python 2023-01-30 22:01:01 435人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。 1.异常的类型 异常的类型多种多样,常见的异常有: AttributeError 试图访问一个对象没有的属性

异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。

1.异常的类型

异常的类型多种多样,常见的异常有:

AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x
ioError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 尝试访问一个没有申明的变量
SyntaxError python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的

 

其他的异常:

Exception可以捕获任意异常

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

2.捕获异常,处理异常

只有将对应的异常类型捕获才能进行异常的处理

异常的捕获处理方式:

try:
    #程序执行的代码,异常检测的代码
    pass
except Exception as e:
    #捕获异常后进行的代码,
    print(e)
    pass
else:
    #没有捕获到相应的异常后进行的代码
    pass
finally:
    #不论有没有异常捕获最后都要执行的代码
    pass

 

这里的except就像是java里的catch

也可以在代码中添加多个except语句来捕获不同种类型的异常,执行相应不同的操作

3.主动抛出异常

异常的抛出可以手动添加

try:
    raise Exception("我自己抛的")
except Exception as e:
    print(e)#这里会输出“我自己抛的”

 

4.自定义异常类型 

异常的类型我们可以自己定义自己所需要的

主要利用类中的__str__方法实现

 

class myException(BaseException):
    def __init__(self,message):
        self.message=message
    def __str__(self):
        return self.message

try:
    raise myException('自定义的异常类型')
except myException as e:
    print(e) 

 

5.断言

断言assert用于判断某个条件是否成立,如果不成立则抛出AssertionError异常,该异常可以捕获

 

assert 条件
#相当于
if not 条件 :
    raise AssertionError()

assert 条件,"描述"
#相当于
if not 条件 :
    raise AssertionError("描述")

 

  

 

--结束END--

本文标题: python基础学习15----异常处理

本文链接: https://lsjlt.com/news/179638.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python基础学习15----异常处理
    异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。 1.异常的类型 异常的类型多种多样,常见的异常有: AttributeError 试图访问一个对象没有的属性...
    99+
    2023-01-30
    异常 基础 python
  • Python基础:异常处理
    如何处理异常   无论发生什么情况,finally block 中的语句都会被执行,哪怕前面的 try 和 excep block 中使用了 return 语句。 import sys try: f = open('file....
    99+
    2023-01-31
    异常 基础 Python
  • Python学习 :异常处理
      异常处理   什么是异常处理   - python解释器检测到错误,触发异常(也允许程序员自己触发了异常)   - 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,只与异常处理有关)   - 如果捕捉成功则进入另外...
    99+
    2023-01-30
    异常 Python
  • Python中的异常处理相关语句基础学习笔记
    异常是指因为程序出现了错误而在正常控制流以外采取的行动,其分为两个阶段,第一阶段是引发异常的错误,当系统检测到错误并且意识到异常条件,解释器(也可以是程序员引发异常)会引发一个异常通知前段控制流有错误发生,...
    99+
    2022-06-04
    语句 学习笔记 异常
  • python学习之异常处理
    一、语法导致的异常,应该在程序运行前处理 例子: print( 输出: File "E:/python/oldboyday9/learn1.py", line 4     if      ^ SyntaxError: invalid sy...
    99+
    2023-01-31
    异常 python
  • Python基础学习教程系列讲解——try_except异常处理机制
    在Python编程中不可避免的会出现错误,在调试阶段出现语法之类的错误时,Pycharm会在Debug窗口提示错误,但是程序在运行时由于内部隐含的问题而引起错误,会导致程序终止执行。比如以下例程中,使用urllib库打开URL时由于网络问题...
    99+
    2023-06-02
  • 零基础学习Python文本处理
    源 | 小象     文 | 贾庸本文将带领小伙伴们一起,使用Python进行文本处理,先来看下要处理的文本, 文件名为“data.txt”, 文件里面的内容是三行中英对照的文本,和两个空行,我们要实现的功能就是从这三行文本中分别抽取出中文...
    99+
    2023-01-31
    文本 基础 Python
  • Python基础异常处理梳理总结
    目录前言一、常见的Python异常AssertionError:断言语句(assert)失败AttributeError:尝试访问未知的对象属性IndexError:索引超出序列的范...
    99+
    2024-04-02
  • Python学习之异常处理详解
    目录什么是异常与异常处理异常的语法捕获通用异常捕获具体异常如何捕获多个异常捕获多个异常 - 方法1捕获多个异常 - 方法2本章节主要学习 python 中的异常处理,来看一下该章节的...
    99+
    2024-04-02
  • Python学习笔记9——异常处理
    就看这篇博客吧:一篇搞定所有的异常处理,讲的很详细。 异常 Python中各种异常也是类,类Exception继承自类BaseException,还有其他各种异常等等,此外,通过继承BaseException或者Exception可以自定...
    99+
    2023-01-30
    学习笔记 异常 Python
  • python基础之错误和异常处理
    import Exception # except 在捕获错误异常的时候 是要根据具体的错误类型来捕获的 # 用一个块 可以捕获多个不同类型的异常 # EXception ...
    99+
    2024-04-02
  • python 基础学习
    #此代码关于python函数调用的理解学习#还不明白这段代码如何实现调用的!!!def apply_twice(func, arg):return func(func(arg)) def add_five(x):return x + 5 p...
    99+
    2023-01-31
    基础 python
  • Python基础学习
    第一个 Python 程序:Hello Worldprint("Hello World!")Python 控制流:if-else, if-elif-else:    if-else 语法:if 判断条件:     执行语句…… else: ...
    99+
    2023-01-31
    基础 Python
  • [Python]学习基础篇:常见的Pyt
    函数列表进制转换函数函数名称及参数功能用例bin(x)将数值x转化为二进制>>> x=10 >>> bin(10) 10hex(x)将数值x转化为十六进制>>> x=10 &g...
    99+
    2023-01-31
    常见 基础 Python
  • Python零基础入门(十一)——异常处理
    系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟...
    99+
    2023-08-31
    python 开发语言 pycharm 人工智能
  • Python基础教程之异常处理详解
    目录前言异常错误与异常语法错误异常异常处理自主抛出异常自定义异常finally子句总结前言 最近发现有些东西长时间不用就要忘了,坚持每天复习总结一个小知识点吧~ 异常是什么呢?就是在...
    99+
    2023-05-14
    python如何进行异常处理 python 异常 python程序异常处理例题
  • Python学习笔记整理(十七)异常处理
    一、异常基础 try/except:捕捉由代码中的异常并恢复,匹配except里面的错误,并自行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不会中断程序,继续执行try语句后面的程序) ...
    99+
    2023-01-31
    学习笔记 异常 Python
  • Python学习—异常
    一.异常处理的定义   python解释器检测到错误,触发异常(也允许程序员自己触发异常)   程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关)   如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻...
    99+
    2023-01-31
    异常 Python
  • Python学习笔记总结(四):异常处理
    一、异常基础 1、基础 try/except/else:【else是可选的】捕捉由代码中的异常并恢复,匹配except里面的错误,并执行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不...
    99+
    2023-01-31
    学习笔记 异常 Python
  • Java 基础语法 异常处理
    目录1. 异常的背景1.1 邂逅异常1.2 异常和错误1.3 Java 异常的体系(含体系图)1.4 异常的核心思想1.5 异常的好处2. 异常的基本用法2.1 捕获异常2.1.1 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作