python 自定义异常和异常捕捉的方法

 更新时间ㄩ2018年10月18日 14:30:11   作者ㄩflyingshuai   我要评论

今天小编就为大家分享一篇python 自定义异常和异常捕捉的方法ㄛ具有很好的参考价值ㄛ希望对大家有所帮助﹝一起跟随小编过来看看吧

异常捕捉ㄩ

try: 
 XXXXX1
 raise Exception(※xxxxx2§) 
except ㄗException1ㄛException2ㄛ##ㄘ: 
 xxxx3
else:
 xxxxx4
finally:
 xxxxxxx5

1.raise 语句可以自定义报错信息ㄛ如上﹝

2. raise后的语句是不会被执行了ㄛ因为已经抛出异常ㄛ控制流将会跳到异常捕捉模块﹝

3. except 语句可以一个except后带多个异常ㄛ也可以用多个语句捕捉多个异常ㄛ分别做不同处理﹝

4. except语句捕捉的异常如果没有发生ㄛ那么except里的语句块是不被执行的﹝而是执行else里的语句

5. 在上面语句中try/except/else/finally所出现的顺序必须是try每>except X每>except每>else每>finallyㄛ即所有的except必须在else和finally之前ㄛelseㄗ如果有的话ㄘ必须在finally之前ㄛ而except X必须在except之前﹝否则会出现语法错误﹝

6.else和finally都是可选的.

7.在上面的完整语句中ㄛelse语句的存在必须以except X或者except语句为前提ㄛ如果在没有except语句的try block中使用else语句会引发语法错误﹝

异常参数输出ㄩ

try:
 testRaise()
except PreconditionsException as e: #python3的写法ㄛ必须用as
 print (e)

自定义异常ㄛ只需自定义异常类继承父类Exception﹝在自定义异常类中ㄛ重写父类init方法﹝

class DatabaseException(Exception):
 def __init__(self,err='数据库错误'):
  Exception.__init__(self,err)

class PreconditionsException(DatabaseException):
 def __init__(self,err='PreconditionsErr'):
  DatabaseException.__init__(self,err)

def testRaise():
 raise PreconditionsException()

try:
 testRaise()
except PreconditionsException as e:
 print (e)

注意ㄩPreconditonsException又是DatabaseException的子类﹝

所以如果ㄛraise PreconditionException的话ㄛ用两个异常类都可以捕捉﹝

但是, 如果是raise DatabaseException, 用PreconditonsException是捕捉不到的﹝

以上这篇python 自定义异常和异常捕捉的方法就是小编分享给大家的全部内容了ㄛ希望能给大家一个参考ㄛ也希望大家多多支持脚本之家﹝

相关文章

  • Python中pip安装非PyPI官网第三方库的方法

    Python中pip安装非PyPI官网第三方库的方法

    这篇文章主要介绍了Python中pip安装非PyPI官网第三方库的方法,pip最新的版本(1.5以上的版本), 出于安全的考 虑,pip不允许安装非PyPI的URL,本文就给出两种解决方法,需要的朋友可以参考下
    2015-06-06
  • Python3中多线程编程的队列运作示例

    Python3中多线程编程的队列运作示例

    这篇文章主要介绍了Python3中多线程编程的队列运作示例,文中用一个简单的例子展示了Python下尝?#36828;?#32447;程时队列的进站出站是如何运作的,需要的朋友可以参考下
    2015-04-04
  • python uuid模块使用实例

    python uuid模块使用实例

    这篇文章主要介绍了python uuid模块使用实例,本文给出简单使用示例,讲解uuid1﹜uuid3﹜ uuid4﹜ uuid5这几个方法,需要的朋友可以参考下
    2015-04-04
  • windows 下python+numpy安装实用教程

    windows 下python+numpy安装实用教程

    这篇文章主要介绍了windows 下python+numpy安装实用教程ㄛ具有一定借鉴价值ㄛ需要的朋友可以参考下﹝
    2017-12-12
  • Python中类的创建和实例化操作示例

    Python中类的创建和实例化操作示例

    这篇文章主要介绍了Python中类的创建和实例化操作,涉及Python面向对象程序设计中类的定义﹜实例化﹜方法调用等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • Python实现判断字符串中包含某个字符的判断函数示例

    Python实现判断字符串中包含某个字符的判断函数示例

    这篇文章主要介绍了Python实现判断字符串中包含某个字符的判断函数,涉及Python自定义函数中使用find方法针对字符串的简单判断查找相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • python如何重载模块实例解析

    python如何重载模块实例解析

    这篇文章主要介绍了python如何重载模块实例解析ㄛ涉及模块的概念ㄛ载入和重载的实例ㄛ小编觉?#27809;?#26159;挺不错的ㄛ具有一定借鉴价值ㄛ需要的朋友可以参考下
    2018-01-01
  • 对Python新手编程过程中如何规避一些常见问题的建议

    对Python新手编程过程中如何规避一些常见问题的建议

    这篇文章中作者对Python新手编程过程中如何规避一些常见问题给出了建议,主要着眼于初学者对于一些常用函数方法在平时的使用习惯中的问题给出建议,需要的朋友可以参考下
    2015-04-04
  • 详解用python实现简单的遗传算法

    详解用python实现简单的遗传算法

    这篇文章主要介绍了详解用python实现简单的遗传算法ㄛ小编觉得挺不错的ㄛ现在分享给大家ㄛ也给大家做个参考﹝一起跟随小编过来看看吧
    2018-01-01
  • python 把数据 json格式输出的实例代码

    python 把数据 json格式输出的实例代码

    下面小编就为大家带来一篇python 把数据 json格式输出的实例代码﹝小编觉得挺不错的ㄛ现在就分享给大家ㄛ也给大家做个参考﹝一起跟随小编过来看看吧
    2016-10-10

最新评论

賽譴35恁7羲蔣賦彆