1318浏览
查看: 1318|回复: 1

Python 获取异常信息案例和异常继承体系

[复制链接]
Python 获取异常信息案例和异常继承体系
平时编写代码时,经常会出现异常错误信息,我们希望知道出现异常信息的原因、位置、类型等具体情况,这样对我们的编程非常重要,可以根据异常信息进行调试、完善代码。也有助于我们对软件使用的情况。
1、           Python 获取异常信息案例
基本格式:
#try:
    #有可能出现异常的程序代码
#except:
    #如果出现异常被执行的代码
具体代码:
import traceback
list1=[11,22,33,44,55,66,77]
try:
    print(list1[10])
except Exception as e:
    print('访问列表时出现异常,请联系管理员')
    print(e)  #返回基本异常信息
    print(str(e)) #返回基本异常信息
    print(e.args[0]) #返回基本异常信息
    print(repr(e))  #返回异常的基本信息和异常类型
   print(traceback.format_exc())#返回异常的详细信息
    #将异常信息写入指定的日志错误文本文件
    traceback.print_exc(file=open("D:\\learn\杭州电子科技大学\python学习笔记\encode\systemlog_error.txt","w"))
  
Python 获取异常信息案例和异常继承体系图1
Python 获取异常信息案例和异常继承体系图2

将异常信息写入指定的日志错误文本文件,所写入的信息


Python 获取异常信息案例和异常继承体系图3
附上网上搜来的
2Python 异常继承体系(versionpython3.4
以下是按照 The Python Standard Library  翻译
The classhierarchy for built-in exceptions is:
BaseException 所有内建的异常的基类
+-- SystemExit sys.exit()函数引发。当它不处理时,Python 解释器退出
+-- KeyboardInterrupt 当用户点击中断键 (通常ctrl + C 时引发
+-- GeneratorExit 当调用一种generatorclose()方法时引发。它直接继承BaseException而不是Exception,因为它是从技术上讲不是一个错误。
+-- Exception 所有内置的、 非系统退出异常是从该类派生的。应该从该类派生所有用户定义的异常。
      +-- StopIteration
      +-- ArithmeticError
      |   +-- FloatingPointError
      |   +-- OverflowError
      |   +-- ZeroDivisionError
      +-- AssertionError
      +-- AttributeError
      +-- BufferError 当缓冲区相关的操作无法执行时引发
      +--EOFError input()函数在文件尾(EOF)的条件下没有读到任何数据时被引发
      +-- ImportError import语句无法找到模块定义时引发
      +-- LookupError 当用于映射或序列的键或索引无效时引发
      |   +-- IndexError
      |   +-- KeyError
      +-- MemoryError OOM时被引发,但是其状态仍然能被拯救
      +-- NameError 当一个局部或者全局的名字没有找到时被引发
      |   +-- UnboundLocalError
      +-- OSError 当一个系统函数返回一个与系统相关的错误时引发。
      |   +-- BlockingIOError
      |   +-- ChildProcessError
      |   +-- ConnectionError
      |   |    +-- BrokenPipeError
      |    |   +-- ConnectionAbortedError
      |   |    +-- ConnectionRefusedError
      |   |    +-- ConnectionResetError
      |   +-- FileExistsError
      |   +-- FileNotFoundError
      |   +-- InterruptedError
      |   +-- IsADirectoryError
      |    +-- NotADirectoryError
      |   +-- PermissionError
      |   +-- ProcessLookupError
      |   +-- TimeoutError
      +-- ReferenceError 当访问一个已经被GC的对象时被引发
      +-- RuntimeError 当一个错误不能被其他所有的错误检测到时被引发
      |   +-- NotImplementedError
      +-- SyntaxError 当解析器遇到语法错误时引发。非运行时错误。
      |   +-- IndentationError
      |        +-- TabError
      +-- SystemError 当解释器发现一个内部错误时引发
      +-- TypeError 当一个操作符或者函数应用到一个不合适的对象时引发
      +-- ValueError 当一个内置操作符或函数接收到一个类型正确但是值不合适的时候被引发
      |   +-- UnicodeError
      |        +-- UnicodeDecodeError
      |        +-- UnicodeEncodeError
      |        +-- UnicodeTranslateError
      +-- Warning
           +-- DeprecationWarning
           +-- PendingDeprecationWarning
           +-- RuntimeWarning
           +-- SyntaxWarning
           +-- UserWarning
           +-- FutureWarning
           +-- ImportWarning
           +-- UnicodeWarning
           +-- BytesWarning
           +-- ResourceWarning









DFrJ5KYVQaH  中级技匠

发表于 2020-2-28 15:13:55

好文章学习中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail