python抛出异常
Python 2024/6/26 9:33:08 点击:不统计
python 代码运行时,可能会遇到各种异常,那怎么处理异常
第一: raise 你对已知的内容判断认为出错时,直接抛出异常
比如,比如当输入内容必须时数字
if not instance(inputvalue, int):
raise TypeError("mast integers value")
异常类型有下面几种:
Exception:所有异常的基类。
BaseException:所有内建异常的基类(不推荐直接使用)。
ArithmeticError:所有数值计算异常的基类。
ZeroDivisionError:除以零异常。
OverflowError:数值运算结果太大无法表示的异常。
FloatingPointError:浮点数运算异常。
LookupError:所有查找操作失败的异常的基类。
IndexError:序列索引超出范围异常。
KeyError:字典中键不存在异常。
AssertionError:断言语句失败异常。
AttributeError:属性访问或赋值失败异常。
EOFError:输入到达文件末尾(End Of File)异常。
ImportError:导入模块失败异常。
ModuleNotFoundError:找不到模块异常(ImportError 的子类)。
KeyboardInterrupt:用户中断程序执行(通常是按 Ctrl+C)。
MemoryError:内存不足异常。
NameError:未声明/初始化对象(没有属性)异常。
UnboundLocalError:访问未初始化的本地变量异常。
OSError:操作系统相关异常。
FileNotFoundError:文件未找到异常。
PermissionError:权限不足异常。
TimeoutError:操作超时异常。
RuntimeError:在程序运行中产生的异常的基类。
RecursionError:递归深度超限异常。
TypeError:操作或函数应用于不适当类型的对象异常。
ValueError:操作或函数应用于具有正确类型但不合适的值的对象异常。
StopIteration:迭代器没有更多的值异常。
还有用户自定义的异常,比如
class MyCustomError(Exception):
pass
raise MyCustomError("This is a custom error message.")
第二,通过try 处理异常或者判断返回异常的内容
(1)捕获异常:
try:
some()
Exception:
print("Error")
(2)其他异常判断
def some():
return 100/0
try:
a = some()
print(a)
except ZeroDivisionError as e:
print("除数不能为0")
except ValueError as e:
print(e)
else:
print("other error")
finally:
print("finally")
这里的 else , finally 不是必须的。
else 是当没有上述错误时执行,如果有错误则不执行,跟IF ELSE很像。
finally 任何时候都执行
转www.载for网站制作学习asp必.cn究
·上一篇:python 将类方法转换为静态属性方法 >> ·下一篇:python设置读取对象属性 >>