Python之异常设计(一)

一 定义

异常分为两类:一类是自动触发异常如除零错误;另一类是通过raise触发。

二 为什么要使用异常

  当程序运行时,如果检测到程序错误,Python就会引发异常,我们可以在程序中使用try语句捕获异常,并对异常进行处理。如果我们不做异常的捕获,异常就会一直往上层抛出,直到顶层Python的默认异常处理器,默认异常处理器将会停止程序并打印异常,这通常会引起程序崩溃,造成不好的用户体验,这不是我们想要的。

三 捕获异常

try:
    list=[2]
    print(list[1]
except IndexError:
    print(‘goto exception‘)

四 引发异常

try
    raise IndexError
except IndexError:
    print(‘goto exception‘)

五 自定义异常

class MyException(Exception)
    pass

def raise_error():
    raise MyException()

try:
    raise_error()
except MyException:
    print(‘goto ‘)

六 终止行为 finally

可以通过finally定义不管是否发生异常都执行的行为。当发生异常时,执行finally块中的代码,然后将异常往上抛。比如,我们想要在调用的函数执行完或发生异常时,释放数据库连接或确保文件关闭,就可以在finally中来实现

try:
    raise IndexError
finally:
    pass

以上是Python异常的基本知识,我将在下一篇进一步探讨异常

原文地址:https://www.cnblogs.com/lfxiao/p/9185221.html

时间: 2024-11-02 17:08:00

Python之异常设计(一)的相关文章

Python常用异常及处理方法

Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言(Assertions):本站Python教程会具体介绍. python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIter

python之-- 异常

异常处理: 语法:try: codeexcept (KeyError..可以写多个) as e: error为抓取的多个错误提示,e为错误信息 print(e) # 打印错误信息except (IndexError) as e: print(e)except Exception as e: # 上面方法无法捕捉到的错误,在这里统统捕获 print('未知错误 ',e)else: # 当没有出现错误,则执行这里 print('一切正常')finally: print('不管有没有错误,都会执行这里

python常见异常分类与处理方法

Python常见异常类型大概分为以下类: 1.AssertionError:当assert断言条件为假的时候抛出的异常 2.AttributeError:当访问的对象属性不存在的时候抛出的异常 3.IndexError:超出对象索引的范围时抛出的异常 4.KeyError:在字典中查找一个不存在的key抛出的异常 5.NameError:访问一个不存在的变量时抛出的异常 6.OSError:操作系统产生的异常 7.SyntaxError:语法错误时会抛出此异常 8.TypeError:类型错误,

python之异常

8.1 什么是异常 python用异常对象来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(一种错误信息)终止执行: >>>1/0 报错 如果这些错误信息就是异常的全部功能,那么它也就不必存在了.事实上,每个异常都是一个类的实例,这些实例可以被引发,并且可以用很多种方法进行捕捉,使得程序可以捉住错误并且对其进行处理,而不是让整个程序失败. 8.2.1 raise 语句 为了引发异常,可以使用一个类(exception的子类)或者实例参数调用rai

Python 标准异常总结

在我们编写脚本或者进行软件开发过程中总会遇见很多的异常和错误,而python里面有两个非常重要的功能,能够很好的处理异常和任何意外错误,这两个功能就是异常处理和断言. 异常处理:主要包含语法错误和其他的标准异常,标准异常介绍如下表. 断言:断言是一种理智检查,当程序的测试完成,你可以打开或关闭.断言的最简单的方法就是把它比作 raise-if 语句 (或者更准确,加 raise-if-not 声明). 一个表达式进行测试,如果结果出现 false,将引发异常.断言是由 assert 语句,在Py

Python 常见异常列表

常见Python异常 异常 描述 AssertionError assert(断言)语句失败 AttributeError 试图访问一个对象没有的属性,比如foo.x ,但是foo没有x这个属性. IOError 输入/输出异常,基本上是无法打开文件. ImportError 无法引入模块或者包,基本上是路径问题 IndentationError 语法错误,代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存

python 的异常及其处理

Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言(Assertions):本站Python教程会具体介绍. python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIter

Python<2>异常基础

在Python中异常通常可以用于各种用途,下面是最常见的几种. <1>错误处理 每当运行时检测到错误,Python的默认异常处理行为将启动(停止程序,打印错误信息).如果不想启动这种默认 行为,就要写try语句捕捉异常并从异常中恢复.当检测到错误是,Python会跳到try处理器,程序在try之后会接着 继续运行. <2>事件通知 发出有效状态的信号 <3>特殊情况处理 很难调整代码去处理的问题 <4>终止行为 <5>非常规流程控制 异常是一种高

(转)异常设计----何使用异常的原则

作者:Bill Venners著,chenkw  译 本文选自:www.javaresearch.org 摘要 本文是设计技术专栏文章,讨论有关异常设计的问题.本文关注何时使用异常,并举例演示异常的恰当使用.此外,本文还提供一些异常设计的基本原则. 五个月前,我开始撰写有关设计对象的文章.本文是设计文技术系列文章的延续,讨论了有关错误报告和异常的设计原则.我假设读者已经知道什么是异常,以及异常是如何工作的.你若想回顾一下异常方面的知识,请阅读本文的姐妹篇<Java异常>.  异常的好处