首页 > 编程语言 > 详细

Python15-01_异常----异常的本质

时间:2020-09-16 10:57:53      阅读:52      评论:0      收藏:0      [点我收藏+]

异常的本质

导引问题

    在实际工作中,我们遇到的问题都不是完美的,比如:你写某个模块,用户输入不一定符合你的要求:你的程序要打开某个文件,这个文件不可能存在或者打开格式不对,你要读取数据库数据,数据可能是空的;我们程序运行着,但内存或硬盘可能已经满了

    软件程序运行过程中,非常可能遇到我们刚刚提出的这些问题,我们称之为:异常,英文名:Exception,译为:例外。遇到这些情况,我们的处理方法如下

    如果我们要拷贝一个文件,在没有异常的情况下,我们需要考虑到各种情况

 1 if d:/a.txt这个文件存在:
 2 
 3     if e盘空间大于a.txt长度:
 4 
 5         if 文件复制一半IO流断掉:
 6 
 7              停止copy,输出:IO流问题!
 8 
 9         else:
10 
11              copyFile(d:/a.txt,e:/a.txt)
12 
13    else:
14 
15         print(e盘空间不够放a.txt!)
16 
17  else:
18 
19  print(a,txt不存在!)

这种方法,有两个坏处:

  1. 逻辑代码和错误处理代码放在一起
  2. 程序员本身需要考虑到例外情况较复杂,对程序员本身要求较高

   python的异常机制给我们提供了方便的处理方式

1 try:
2     copyFile(d:/a.txt,e:/a.txt)
3 except:
4     print(文件无法拷贝)

异常机制本质

    异常指程序运行过程中的非正常现象,列如:用户输入错误,除数为零,需要处理的文件不存在,数组下标越界等

    所谓异常处理,就是指程序在出现异常后依然可以正确运行后续程序,而不会因为异常终止执行

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

    

技术分享图片

 

 Python中一切皆对象,异常也采用对象的方式处理,处理过程:

  1. 抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象交给解释器

  2. 捕获异常:解释器得到该异常后,寻找相应的代码处理该异常

解决异常问题的态度

  1. 不慌张,细看信息定位错误。
  2. 百度并查看十个帖子。
  3. 与他人协商解决

异常解决的关键:定位

当发生异常时,解释器会报相关异常信息,并会在控制台打印相关信息,我们只需要按照从上到下的顺序即可追溯错误发生过程

 

Python15-01_异常----异常的本质

原文:https://www.cnblogs.com/xujie-0528/p/13677226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!