zoukankan      html  css  js  c++  java
  • 自定义异常

    #尽管内建异常类包括了大部分异常,而且可以满足很多要求,但有时还是要自己创建自己的异常类。比如要精确知道问题的根源,就需要使用自定义异常精确定位问题。可以通过创建一个新exception类拥有自己的异常。异常应该继承自Exception类,可以直接继承,也可以间接继承。
    #因为错误就是类,捕获一个错误就是捕获该类的一个实例,因此错误并不是凭空产生的,而是由一些不合理的部分导致的。Python的内建函数会抛出很多类型的错误,我们自己编写的函数也可以抛出错误,如果要抛出错误,那么可以根据需要定义一个错误的类,选择好继承关系,然后用raise语句抛出一个错误的实例。
    #例如:
     1 #!/usr/bin/python3
     2 #-*-coding:UTF-8-*-
     3 #异常9.9
     4 
     5 class MyError(Exception):
     6     def __init__(self):
     7         pass
     8 
     9     def __str__(self):
    10         return 'This is self define error'
    11 
    12 def my_error_test():
    13     try:
    14         raise MyError()
    15     except MyError as e:
    16         print('exception info:',e)
    17 
    18 my_error_test()
    #执行结果如下:
    1 D:Pythonworkspace>python 异常9.9.py
    2 exception info: This is self define error
    #由程序和执行结果看到,程序正确执行了自定义的异常,并且需要继承Exception类。
    #异常最好以Error结尾,一方面贴近标准异常,另一方面便于见名知意。
  • 相关阅读:
    【leetcode】92. 反转链表 II
    【leetcode】91. 解码方法
    【leetcode】89. 格雷编码
    【leetcode】86. 分隔链表
    【leetcode】82. 删除排序链表中的重复元素 II
    为什么选择react
    React 全家桶实现后台管理界面
    前后端同构
    浅谈React前后端同构防止重复渲染
    由React引发的前后端分离架构的思考
  • 原文地址:https://www.cnblogs.com/DLHe/p/8191160.html
Copyright © 2011-2022 走看看