首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python异常捕获及自定义异常

Python无法正常处理程序中的代码时,解释器无法继续执行了,异常事件就发生了,Python检测到错误,然后给出一些错误的提示,并终止程序运行,这就是所谓的"异常"....二、Python中的异常捕获 当Python代码发生异常时我们需要捕获它,捕获到异常后,根据自己的需要来自定义处理方式,避免程序终止运行. python异常处理的语法为: try: print(...三、异常异常传递 在Python中定义了所有异常的基BaseException,常规异常的基Exception,所有异常都继承自BaseException,代码中经常出现的异常都继承自Exception...上面的示例中,我们捕获异常时,可以判断会出现的异常类型,但是实际开发中,代码比上面的示例复杂得多,出现的异常我们不能提前判断,这时候就可以用Exception来捕获....四、自定义异常 正常来说,Python提供的异常类型已经满足我们的使用了,但是有时候我们有定制性的需求,我们可以自定义异常,继承自Error或Exception就可以了.参考代码: class MoneyException

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python所有的标准异常

    在这个博客又看到一个好东西,先Mark一下 EOFError   NameError   SystemError     SystemError  我目前只见过这四个,以后会慢慢总结的(非要立个flag你快乐吗) python...所有的标准异常异常名称 描述 BaseException 所有异常的基 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception...常规错误的基 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 SystemExit Python 解释器请求退出 StandardError...所有的内建标准异常的基 ArithmeticError 所有数值计算错误的基 FloatingPointError 浮点计算错误 OverflowError 数值运算超出最大限制 ZeroDivisionError...IndexError 序列中没有没有此索引(index) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象

    72920

    Python编程思想(33):异常与多异常捕获

    异常Python解释器接收到异常对象时,如何为该异常对象寻找 except块呢?注意到前面的代码中的except块,这个块是专门用于处理该异常及其子类的异常实例。...当 Python解释器接收到异常对象后,会依次判断该异常对象是否是 except块后的异常或其子类的实例,如果是, Python解释器将调用该 except块来处理该异常;否则,再次拿该异常对象和下一个...当程序发生不同的意外情况时,系统会生成不同的异常对象, Python解释器就会根据该异常对象所属的异常来决定使用哪个 except块来处理该异常。...Python的所有异常都从 BaseException派生而来,提供了丰富的异常,这些异常之间有严格的继承关系,下图显示了 Python的常见异常之间的继承关系。 ?...从这张图中可以看出, Python的所有异常的基是 Base Exception,但如果用户要实现自定义异常,则不应该继承这个基,而应该从 Exception继承。

    77120

    Python面试】 列举Python中的标准异常

    最近公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!...废话不多说,开始今天的题目: 问:列举几个Python中的标准异常?...下面用表格列出所有的异常 : 异常名称 描述 BaseException 所有异常的基 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception...常规错误的基 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 SystemExit Python 解释器请求退出 StandardError...所有的内建标准异常的基 ArithmeticError 所有数值计算错误的基 FloatingPointError 浮点计算错误 OverflowError 数值运算超出最大限制 ZeroDivisionError

    68140

    Python面向对象编程 —— 异常处理

    可以将变量、函数打包在一起,让代码在逻辑上更加清晰。 名称一般采用驼峰命名法,函数一般采用下划线命名法。 中函数的第一个参数都是self:调用本身的变量和函数。...当调用中函数的时候,第一个参数self不需要自己传递,Python会自动传递这个参数。...异常处理 当某段代码出现异常时,代码会被终止。 此时如果不想让代码终止,可以用try ... except ... 语句来处理异常。...2.1异常 例如,将字符串转化成整数时,可能会出现异常: s = input() try: x = int(s) print(x) except Exception as e:...2.2除零异常 当除以0时,也会出现异常: x, y = map(int, input().split()) try: z = x / y print(z) except Exception

    11210

    【C++】异常处理 ⑧ ( 标准异常 | 标准异常继承结构 | 常用的标准异常 | 自定义异常继承 std::exception 基 )

    一、抛出 / 捕获 多个类型异常对象 1、标准异常 在 C++ 语言中 , 提供了一系列的 " 标准异常 " , 这些 " 标准异常 " 都继承了 std::exception 基 , 在 标准库...中 , 抛出的异常 , 都是 标准异常 , 都是 std::exception 的子类 ; 2、标准异常继承结构 标准异常 定义在 std 命名空间 , 标准异常 std::exception... 3、常用的标准异常 常用的标准异常如下 : std::exception 是标准异常 , 定义了 what() 函数 , 该方法返回一个指向 C 字符串的指针 ,..., 会抛出此异常 ; 二、自定义异常继承 std::exception 基 1、自定义异常继承 std::exception 基 首先 , 导入 头文件 ; #include... 然后 , 自定义继承 std::exception , 通过构造函数设置异常信息 , 重写 what 函数 , 在该函数中返回异常信息 ; // 自定义实现标准异常

    54010

    Java异常

    catch子句的异常,或者属于该异常的子类,则认为生成的异常对象与catch块捕获的异常类型相匹配。...* 对于有多个catch子句的异常程序而言,应该尽量将捕获底层异常的catch子 句放在前面, * 同时尽量将捕获相对高层的异常的catch子句放在后面。...我们知道,异常异常的实例对象,我们可以创建异常的实例对象通过throw语句抛出。...当应用试图根据字符串形式的名构造,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。    ... 不允许访问某类异常 InstantiationException  当应用程序试图使用Class中的newInstance()方法创建一个的实例,而指定的对象无法被实例化时,抛出该异常

    42910

    python中自定义异常的使用

    手动抛出异常关键词raise 异常的系统关键词exception 本节知识视频教程 自定义异常 1.自定义 2.继承系统的异常exception 3.自定义异常的构造函数等方法进行处理 举例...: 自定义一个我的异常MyException 这是一个最简单的异常 class MyException(Exception): pass 案例:判断输入的情况 如果不是数值就抛出异常。...if not a.isdigit(): raise MyException("异常:输入的不是数值!") 总结强调: 1.自定义异常。 2.掌握如何利用自定义异常。...3.利用自定义异常的构造方法,进行异常数值的提示。...本节知识源代码: #自定义异常 class MyException(Exception): def __init__(self,a): self.a=a #最简单的异常的使用

    1.8K30

    异常工具-Assert

    # Assert Assert断言工具是直接从org.springframework.util.Assert中拷贝出来的,api的用法和定义和Spring Assert一模一样,在Spring Assert...的使用经验可无缝迁移到该Assert中 区别点在于对于断言的异常,不再像Spring一样抛出IllegalArgumentException,默认转为抛出自定义的ValidException,与全局异常紧密结合...同时提供了所有重载的接口,支持通过AbstractException子类class,构造异常实例,根据class抛出对应异常,目前支持推断所有自定义异常中,具有单字符串构造方法的异常实例 Assert...解决的问题是经过前置参数过滤后,业务层面的校验,不得不包装统一返回体,和经过if else判断后进行返回的场景 或是结合全局异常后,每次抛出异常必须得写try catch代码的场景 目的在于进一步精简代码...# 基本使用 以isTrue为例,判断条件是否成立,如果不成立则抛出异常,同时带有异常message Assert.isTrue(0==1, "条件不满足"); 支持推断AbstractException

    48750

    异常知识详解

    一:异常的基础知识:  1.异常定义:异常是指程序运行过程中发生的一些不正常事件(如除0溢出,数组下标越界,所要读取的文件不存在) 2.抛出异常:Java程序的执行过程中如果出现异常事件,可以生成一个异常对象...4.throws:用于声明一个异常(注意:若父方法没有申明异常,则子类继承父后也不能申明异常)。...当应用试图根据字符串形式的名构造,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。...不允许访问某类异常 InstantiationException 当应用程序试图使用Class中的newInstance()方法创建一个的实例,而指定的对象无法被实例化时,抛出该异常 六:异常例题...进行简化(如果你的异常模式使问题变得太复杂,那么用起来会非常痛苦)。 让库和程序更安全

    7910

    Java-抛出异常、自定义异常

    异常处理常用方法: 常用的异常处理方法有: 一、try()catch() 语句 二、throw / throws 语句 三、自定义异常 用途: 众所周知,当程序运行过程中,如果遇到了错误(比如数组下标越界...throw new Exception(); } } } 我们再看看输出范例: 三、自定义异常 自定义异常是逃不开,也是新手接触最少的,其实它的基本使用方法还是很简单的,自定义异常处理...,只包括两部分:(1)、的构造方法,构造方法的建立则非常简单,其实只要继承父(比如 Exception )的构造方法即可。...这样一来用户才知道究竟是发生了什么错误 这里结合throw/throws 举个例子就很好明白了: 1.首先自定义一个异常: public class ArrayIndexException extends...; } } 如上所示就是一个最基本的自定义异常 ,它继承了Exception 并且重写了构造方法以及toString方法 2.现在我们尝试再主函数中调用它 public class ClassText

    1.3K20

    Python异常处理 ① ( 异常概念 | 异常处理 | 异常捕获 )

    一、Python 异常简介 1、异常概念 Python 异常 是在程序运行过程中发生的错误或问题的表示 ; 出现异常可能会中断程序的正常执行流程 , 并引发一个异常对象 ; 此时 , 需要 捕获和处理...异常对象 , 以防止程序崩溃或引发更严重的错误 ; 2、Python 异常示例 在之前的博客中介绍了文件操作 , 如果以只读的形式打开不存在的文件 , 就会导致异常的出现 ; 出现异常代码 : """...: /Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py Traceback...FileNotFoundError: [Errno 2] No such file or directory: 'file3.txt' Process finished with exit code 1 二、Python.../python /Users/zyq/PycharmProjects/Hello/main.py 出现异常, 进行异常处理 Process finished with exit code 0

    21410

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券