美文网首页
异常捕获

异常捕获

作者: 泡菜鸡丁 | 来源:发表于2019-11-27 12:19 被阅读0次

①try...except语句来处理异常

except从句可以专门处理单一的错误或异常,或者一组包括在圆括号内的异常/错误。没有给出错误或者异常的名称,则处理所有的错误和异常。

如果某个错误或异常没有被处理,默认的python处理器就会被调用。它会终止程序的运行,并且打印一个消息。

还可以关联上一个else从句,当没有异常发生的时候执行。

常见异常(可避免的):

使用不存在的字典关键字,将引发KeyError异常

搜索列表中不存在的值,将引发ValueError异常

调用不存在的方法,将引发AttributeError异常

引用不存在的变量,将引发NameError异常

未强制转换就混用数据类型,将引发TypeError异常

导入一个不存在的模块将引发一个ImportError异常

②try....fianlly

加入希望在无论异常发生与否都执行一段代码,可以使用finally块来完成。

注意,在一个try块下,你可以同时使用except从句和finally块。

如果在finally前面的try或者except,else等里面含有return语句,会先跳过finally再执行return

③raise语句

可以使用raise语句引发异常(抛出异常)。你还得指明错误/异常的名称和伴随异常触发的异常对象。

可以引发error或者exception类的直接或者间接导出类。

py2                py3

raise MyException    MyException

raise MyException,'error message'  raise MyException('error message')

raise MyException,'error message',a_traceback    raise MyException('error message'):with_traceback(a)

说明:

⒈抛出不带自定义错误信息的异常,这种最简单的形式下,语法没有改变

⒉抛出带自定义错误信息的异常时:py2用一个逗号来分隔类和错误信息,py3把错误信息作为参数传递给异常类

⒊抛出一个带用户自定义回溯(stack trace,堆栈追踪)的异常,py2和py3完全不同

⒋在py2里,可以仅仅抛出一个异常信息,在py3里,这种形式不再被支持。2to3将会警告你它不能自动修复这种语法。

相关文章

  • Python面向对象2

    异常 捕获异常image.png根据错误类型捕获异常image.png 未知错误捕获image.png 捕获异常完...

  • 工作总结-002

    异常捕获service捕获业务异常,自定义BaseException;interface捕获业务异常,以及其他异常...

  • C++学习第20课,异常

    1 异常 一句话概括:捕获异常 1.1 谁捕获异常?捕获谁? A捕获B A() { try{ B(); } ...

  • Python 面向对象 - 08 异常

    目录一、概念二、捕获异常2.1 简单的捕获异常语法2.2 错误类型捕获2.3 异常捕获完整语法三、异常的传递四、抛...

  • springboot 异常捕获和处理

    springboot 异常捕获和处理 异常捕获处理

  • iOS 异常捕获处理机制(初级篇)

    一、异常处理简介 二、异常捕获案例 使用@try catch捕获异常 例1是最简单的一种写法: 捕获异常之嵌套捕获...

  • python3.7异常小记

    首先上示例代码: 这段代码包含了,异常分支类型捕获,无异常捕获,有无异常都会捕获的执行逻辑。 捕获全局异常 对入口...

  • Python异常处理

    Python异常处理 一、捕获异常 1.异常捕获语法 2.错误类型捕获 except:处理所有异常。except ...

  • 自定义异常捕获 与 自定返回json 数据格式

    1. 自定义异常捕获 自定的异常 2 捕获异常 =================================...

  • python知识点

    异常捕获 try ... except 捕获所有异常 Exception as reselt 自己定义异常: ra...

网友评论

      本文标题:异常捕获

      本文链接:https://www.haomeiwen.com/subject/rwkpwctx.html