• 异常


    异常:异常就是程序运行时发生错误的信号。

    在程序出现错误的时候,会产生一个异常,如果程序没有处理它,则会抛出该异常,并且程序的运行也会随之终止。

    当异常发生时:解释器会提示异常,并且终止程序继续运行。

    异常的种类:python中不同的异常可以用不同的去标识。

    常用异常种类:

    如何排查错误:查看追踪信息定位到错误发生的位置:

    1.如果你的代码没有调用任何内置模块或方法,那错误发生的位置一定是在最后一行。

    如果调用了其他模块的方法:1.系统内置的模块,一定是自己在调用时出了错误。

    2别人写的模块是有可能出错的,所以你可以按照追踪信息查看。

    绝招:如果有很多追踪信息,找最后一行你自己写代码的位置。

    异常的三大组成部分:追踪信息、异常的类型、异常的值。

    异常一旦发生就会导致程序终止,这对于用户而言,体验极差,所以我们需要一种机制能够防止因异常而终止。

    异常可以由发生的时间不同,分为两类:

    1. 语法检测异常(语法错误和缩进错误  解释器在执行代码前会先检测语法、检测通过才会开始执行,如果这个阶段发生异常 代码一行都不会执行)
    2. 运行时异常(必然已经通过语法检测 在解析执行期间发生的异常,执行到异常位置抛出 异常,后面的代码不在执行。)

     

    重点:异常处理

    (仅在错误发生条件是不可预知的条件下才能使用)

    1.语法:

    try

    代码块

     raise 异常类名(‘字符串’)   )   主动抛出异常,并打印字符串内容(无 论有没有异常,执行到这一句,都会主动抛出异常)

     

    except 异常类型:     (如果存在异常,没有捕获到异常,

      即捕捉异常的类型不准确,程序还是会直接报错)

    异常捕获后执行的代码块          如果没有捕获到异常,不执行

     

    1. 多分支except,此时只会执行一个except,因为程序一旦出现异常就会立即终止,异常类只能用来处理指定的异常情况,如果非指定异常则无法处理。
    2. except(异常1,异常2   )

       2.万能异常:exception(是一个类,包含了所有异常)

    尽量不用,会捕获所有异常。。。。

      

    2except  else(放在所有except的最后) 的连用:当没有任何异常时,else被执行。

    3except finally(最后)的连用:无论是否发生异常,最后都会执行finally中的代码。(可以用于清理内存)

     

     

     

     

    4主动抛出异常:当你写的功能是提供给别人用的,但是别人不按照你写的程序来使用,就会导致程序出错,而我们无法帮助用户处理这个错误,这会就可以主动抛出异常

    关键字:raise 后面跟上exception类中的异常种类。

     

    5、自定义异常:即定义一个类,来表示异常,这个类必须继承BaseException(python中所有的错误类都是有这个基类派生出来的)

     

    6、断言:使用断言来简化代码

    assert +布尔

    如果布尔为False,直接抛出异常AssertionError(固定的),不能指定异常类型。

    如果布尔为True,继续执行后面代码

     

     

  • 相关阅读:
    【剑指offer】推断二叉树平衡
    14.怎样自学Struts2之Struts2类型转换[视频]
    【JS】怎样同一时候处理多个window.onload事件
    Template-Layui:Layui
    网站模板-AdminLTE:AdminLTE
    Template-网站模板:目录
    Template-网站模板:百科
    架构-层-层模型:七层模型
    建筑学-建筑结构类型:建筑结构类型
    架构-分层体系结构:分层体系结构
  • 原文地址:https://www.cnblogs.com/yu-931017/p/10151961.html
Copyright © 2020-2023  润新知