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")) 将异常信息写入指定的日志错误文本文件,所写入的信息 附上网上搜来的 2、Python 异常继承体系(versionpython3.4) 以下是按照 The Python Standard Library 翻译 The classhierarchy for built-in exceptions is: BaseException 所有内建的异常的基类 +-- SystemExit 由sys.exit()函数引发。当它不处理时,Python 解释器退出 +-- KeyboardInterrupt 当用户点击中断键 (通常ctrl + C) 时引发 +-- GeneratorExit 当调用一种generator的close()方法时引发。它直接继承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 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed