python语句try: except:尝试获得

try except 简介
Python 中的 try...except 结构用于异常处理。不使用try catch,这是java的做法。try 块中的代码尝试执行,如果出现异常,则跳转到 except 块执行异常处理代码。这种结构允许程序在遇到错误时不会立即崩溃,而是可以捕获错误并做出相应处理,如记录日志、提供用户反馈或尝试替代方案。try...except 增强了程序的健壮性,使得开发者可以控制错误处理流程,提高用户体验。
格式
try: <语句> #运行别的代码except <名字>: <语句> #如果在try部份引发了'name'异常except <名字>,<数据>: <语句> #如果引发了'name'异常,获得附加的数据else: <语句> #如果没有异常发生
打印所有异常到屏幕
import tracebacktry: xxxx1except: traceback.print_exc() #打印所有异常到屏幕
常规错误的基类 Exception
try: xxxx1except Exception as e: print(e)
| 异常名称 |
描述 |
| BaseException |
所有异常的基类 |
| SystemExit |
解释器请求退出 |
| KeyboardInterrupt |
用户中断执行(通常是输入^C) |
| Exception |
常规错误的基类 |
| StopIteration |
迭代器没有更多的值 |
| GeneratorExit |
生成器(generator)发生异常来通知退出 |
| StandardError |
所有的内建标准异常的基类 |
| ArithmeticError |
所有数值计算错误的基类 |
| FloatingPointError |
浮点计算错误 |
| OverflowError |
数值运算超出最大限制 |
| ZeroDivisionError |
除(或取模)零 (所有数据类型) |
| AssertionError |
断言语句失败 |
| AttributeError |
对象没有这个属性 |
| EOFError |
没有内建输入,到达EOF 标记 |
| EnvironmentError |
操作系统错误的基类 |
| IOError |
输入/输出操作失败 |
| OSError |
操作系统错误 |
| WindowsError |
系统调用失败 |
| ImportError |
导入模块/对象失败 |
| LookupError |
无效数据查询的基类 |
| IndexError |
序列中没有此索引(index) |
| KeyError |
映射中没有这个键 |
| MemoryError |
内存溢出错误(对于Python 解释器不是致命的) |
| NameError |
未声明/初始化对象 (没有属性) |
| UnboundLocalError |
访问未初始化的本地变量 |
| ReferenceError |
弱引用(Weak reference)试图访问已经垃圾回收了的对象 |
| RuntimeError |
一般的运行时错误 |
| NotImplementedError |
尚未实现的方法 |
| SyntaxError |
Python 语法错误 |
| IndentationError |
缩进错误 |
| TabError |
Tab 和空格混用 |
| SystemError |
一般的解释器系统错误 |
| TypeError |
对类型无效的操作 |
| ValueError |
传入无效的参数 |
| UnicodeError |
Unicode 相关的错误 |
| UnicodeDecodeError |
Unicode 解码时的错误 |
| UnicodeEncodeError |
Unicode 编码时错误 |
| UnicodeTranslateError |
Unicode 转换时错误 |
| Warning |
警告的基类 |
| DeprecationWarning |
关于被弃用的特征的警告 |
| FutureWarning |
关于构造将来语义会有改变的警告 |
| OverflowWarning |
旧的关于自动提升为长整型(long)的警告 |
| PendingDeprecationWarning |
关于特性将会被废弃的警告 |
| RuntimeWarning |
可疑的运行时行为(runtime behavior)的警告 |
| SyntaxWarning |
可疑的语法的警告 |
| UserWarning |
用户代码生成的警告 |
BaseException 所有异常的基类 +-- SystemExit 解释器请求退出 +-- KeyboardInterrupt 用户中断执行(通常是输入^C) +-- GeneratorExit 生成器(generator)发生异常来通知退出 +-- Exception 常规错误的基类 +-- StopIteration 迭代器没有更多值 +-- StopAsyncIteration 必须通过异步迭代器对象的__anext__()方法引发以停止迭代 +-- ArithmeticError 所有数值计算错误的基类 | +-- FloatingPointError 浮点计算错误 | +-- OverflowError 数值运算超出最大限制 | +-- ZeroDivisionError 除(或取模)零 (所有数据类型 +-- AssertionError 断言语句失败 +-- AttributeError 对象没有这个属性 +-- BufferError 与缓冲区相关的操作时引发 +-- EOFError 没有内建输入,到达EOF 标记 +-- ImportError 导入失败 | +-- ModuleNotFoundError 找不到模块 +-- LookupError 无效数据查询的基类 | +-- IndexError 序列中没有此索引(index) | +-- KeyError 映射中没有这个键 +-- MemoryError 内存溢出错误 +-- NameError 未声明、初始化对象 | +-- UnboundLocalError 访问未初始化的本地变量 +-- OSError 操作系统错误, | +-- BlockingIOError 操作将阻塞对象设置为非阻塞操作 | +-- ChildProcessError 子进程上的操作失败 | +-- ConnectionError 与连接相关的异常的基类 | | +-- BrokenPipeError 在已关闭写入的套接字上写入 | | +-- ConnectionAbortedError 连接尝试被对等方中止 | | +-- ConnectionRefusedError 连接尝试被对等方拒绝 | | +-- ConnectionResetError 连接由对等方重置 | +-- FileExistsError 创建已存在的文件或目录 | +-- FileNotFoundError 请求不存在的文件或目录 | +-- InterruptedError 系统调用被输入信号中断 | +-- IsADirectoryError 在目录上请求文件操作 | +-- NotADirectoryError 在不是目录的事物上请求目录操作 | +-- PermissionError 在没有访问权限的情况下运行操作 | +-- ProcessLookupError 进程不存在 | +-- TimeoutError 系统函数在系统级别超时 +-- ReferenceError 弱引用试图访问已经垃圾回收了的对象 +-- RuntimeError 一般的运行时错误 | +-- NotImplementedError 尚未实现的方法 | +-- RecursionError 解释器检测到超出最大递归深度 +-- SyntaxError Python 语法错误 | +-- IndentationError 缩进错误 | | +-- TabError Tab 和空格混用 +-- SystemError 一般的解释器系统错误 +-- TypeError 对类型无效的操作 +-- ValueError 传入无效的参数 | +-- UnicodeError Unicode 相关的错误 | | +-- UnicodeDecodeError Unicode 解码时的错误 | | +-- UnicodeEncodeError Unicode 编码时错误 | | +-- UnicodeTranslateError Unicode 转换时错误 +-- Warning 警告的基类 | +-- DeprecationWarning 关于被弃用的特征的警告 | +-- PendingDeprecationWarning 关于构造将来语义会有改变的警告 | +-- RuntimeWarning 可疑的运行行为的警告 | +-- SyntaxWarning 可疑的语法的警告 | +-- UserWarning 用户代码生成的警告 | +-- FutureWarning 有关已弃用功能的警告的基类 | +-- ImportWarning 模块导入时可能出错的警告的基类 | +-- UnicodeWarning 与Unicode相关的警告的基类 | +-- BytesWarning bytes和bytearray相关的警告的基类 | +-- ResourceWarning 与资源使用相关的警告的基类
|
|
|
|
|
|
|
| BaseException |
所有异常的基类 |
|
|
|
|
|
|
SystemExit |
解释器请求退出 |
|
|
|
|
|
KeyboardInterrupt |
用户中断执行(通常是输入^C) |
|
|
|
|
|
GeneratorExit |
生成器(generator)发生异常来通知退出 |
|
|
|
|
|
Exception |
常规错误的基类 |
|
|
|
|
|
|
StopIteration |
迭代器没有更多值 |
|
|
|
|
|
StopAsyncIteration |
必须通过异步迭代器对象的anext()方法引发以停止迭代 |
|
|
|
|
|
ArithmeticError |
所有数值计算错误的基类 |
|
|
|
|
|
|
FloatingPointError |
浮点计算错误 |
|
|
|
|
|
OverflowError |
数值运算超出最大限制 |
|
|
|
|
|
ZeroDivisionError |
除(或取模)零(所有数据类型 |
|
|
|
|
AssertionError |
断言语句失败 |
|
|
|
|
|
AttributeError |
对象没有这个属性 |
|
|
|
|
|
BufferError |
与缓冲区相关的操作时引发 |
|
|
|
|
|
EOFError |
没有内建输入,到达EOF标记 |
|
|
|
|
|
ImportError |
导入失败 |
|
|
|
|
|
|
ModuleNotFoundError |
找不到模块 |
|
|
|
|
LookupError |
无效数据查询的基类 |
|
|
|
|
|
|
IndexError |
序列中没有此索引(index) |
|
|
|
|
|
KeyError |
映射中没有这个键 |
|
|
|
|
MemoryError |
内存溢出错误 |
|
|
|
|
|
NameError |
未声明、初始化对象 |
|
|
|
|
|
|
UnboundLocalError |
访问未初始化的本地变量 |
|
|
|
|
OSError |
操作系统错误, |
|
|
|
|
|
|
BlockingIOError |
操作将阻塞对象设置为非阻塞操作 |
|
|
|
|
|
ChildProcessError |
子进程上的操作失败 |
|
|
|
|
|
ConnectionError |
与连接相关的异常的基类 |
|
|
|
|
|
|
BrokenPipeError |
在已关闭写入的套接字上写入 |
|
|
|
|
|
ConnectionAbortedError |
连接尝试被对等方中止 |
|
|
|
|
|
ConnectionRefusedError |
连接尝试被对等方拒绝 |
|
|
|
|
|
ConnectionResetError |
连接由对等方重置 |
|
|
|
|
FileExistsError |
创建已存在的文件或目录 |
|
|
|
|
|
FileNotFoundError |
请求不存在的文件或目录 |
|
|
|
|
|
InterruptedError |
系统调用被输入信号中断 |
|
|
|
|
|
IsADirectoryError |
在目录上请求文件操作 |
|
|
|
|
|
NotADirectoryError |
在不是目录的事物上请求目录操作 |
|
|
|
|
|
PermissionError |
在没有访问权限的情况下运行操作 |
|
|
|
|
|
ProcessLookupError |
进程不存在 |
|
|
|
|
|
TimeoutError |
系统函数在系统级别超时 |
|
|
|
|
ReferenceError |
弱引用试图访问已经垃圾回收了的对象 |
|
|
|
|
|
RuntimeError |
一般的运行时错误 |
|
|
|
|
|
|
NotImplementedError |
尚未实现的方法 |
|
|
|
|
|
RecursionError |
解释器检测到超出最大递归深度 |
|
|
|
|
SyntaxError |
Python |
语法错误 |
|
|
|
|
|
IndentationError |
缩进错误 |
|
|
|
|
|
|
TabError |
Tab |
和空格混用 |
|
|
SystemError |
一般的解释器系统错误 |
|
|
|
|
|
TypeError |
对类型无效的操作 |
|
|
|
|
|
ValueError |
传入无效的参数 |
|
|
|
|
|
|
UnicodeError |
Unicode相关的错误 |
|
|
|
|
|
|
UnicodeDecodeError |
Unicode解码时的错误 |
|
|
|
|
|
UnicodeEncodeError |
Unicode编码时错误 |
|
|
|
|
|
UnicodeTranslateError |
Unicode转换时错误 |
|
|
|
Warning |
警告的基类 |
|
|
|
|
|
|
DeprecationWarning |
关于被弃用的特征的警告 |
|
|
|
|
|
PendingDeprecationWarning |
关于构造将来语义会有改变的警告 |
|
|
|
|
|
RuntimeWarning |
可疑的运行行为的警告 |
|
|
|
|
|
SyntaxWarning |
可疑的语法的警告 |
|
|
|
|
|
UserWarning |
用户代码生成的警告 |
|
|
|
|
|
FutureWarning |
有关已弃用功能的警告的基类 |
|
|
|
|
|
ImportWarning |
模块导入时可能出错的警告的基类 |
|
|
|
|
|
UnicodeWarning |
与Unicode相关的警告的基类 |
|
|
|
|
|
BytesWarning |
bytes和bytearray相关的警告的基类 |
|
|
|
|
|
ResourceWarning |
与资源使用相关的警告的基类 |
|