Python中的异常机制(一)

描述

前言

哈喽, 大家好, 我是了不起!

欢迎大家来观看了不起的冒险之旅. 为了方便起见, 文中以小知为名. 讲述了不起在Python异世界的冒险之旅.

白天冒险, 晚上学习. 小知可是身体和心理没有一刻不在路上. 在今夜首先了解什么是异常: 软件程序在运行过程中,可能会遇到能使其不能正常运行的问题,我们称之为异常,英文是:Exception . 然后, 我们会了解捕获异常的四种方式


一、异常是什么


程序在运行过程中发生的意外情况,称为异常, 程序运行时一旦出现了异常,将会导致程序立即终止,异常之后的代码将无法继续执行,所以需要对异常进行处理

异常机制本质

  • 当程序出现异常,程序安全的退出、处理完后继续执行的机制

python中,引进了很多用来描述和处理异常的类,称为异常类. 异常类定义中包含了该类异常的信息和对异常进行处理的方法.下面较为完整的展示了python中内建异常类的继承层次:

python

解决思路

异常解决的关键:定位当发生异常时,解释器会报相关的错误信息,并会在控制台打印出相关错误信息. 我们只需按照从上到下的顺序即可追溯(Trackback)错误发生的过程,最终定位引起错误的哪一行代码.

实操代码

# 测试简单的0不能做除数异常

# 因为如果假设成立, 则说明 3/0=0 => 可以推导 0*0=3, 因为结果不成立, 因此假设不成立

# a = 3/0

def a():

    print("run in a() start! ")

    num = 1/0

    print("run in a() end! ")

def b():

    print("run in b() start! ")

    a()

    print("run in b() end! ")

def c():

    print("run in c() start! ")

    b()

    print("run in c() end! ")

print("step1")

c()

print("step2")

结果输出

从打印输出结果来看, 最底层的方法(eg: a())出错之后, 会在上层调用的方法位置处抛出异常. 因为错误信息以栈的形式输出, 因此最顶层的调用因为先打印, 所以会先被我们看到. 因此对底层/最有用的信息一般位于最下面.

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分