#异常监控
try :
"可能发生异常的代码"
except BaseException as e: #捕获异常,将异常赋值给e
"发生异常后执行的代码"
# 举例:
try:
print("5")
print(1/0)
except ZeroDivisionError:
print("除数不能为0")
#多个except语句
try:
"可能发生异常的代码"
except ZeroDivisionError: #捕获异常,将异常赋值给e # type: ignore
"发生异常后执行的代码"
except ValueError: #捕获异常,将异常赋值给e # type: ignore
"发生异常后执行的代码"
except NameError: #捕获异常,将异常赋值给e # type: ignore
"发生异常后执行的代码"
# else语句
try:
"可能发生异常的代码"
except ZeroDivisionError:
"发生异常后执行的代码"
else:
"没有异常时执行的代码"
# finally语句
try:
"可能发生异常的代码"
except ZeroDivisionError:
"发生异常后执行的代码"
else:
"没有异常时执行的代码"
finally:
"不管有没有异常都会执行的代码"
#return不放在try except,else,finanlly中,因为return会终止函数的执行
# with语句 包含在进入上下文时需要执行的初始化工作和在退出上下文时需要执行的清理工作
with open("test.txt","r") as f:
print(f.read())
# with语句会自动关闭文件,不需要手动关闭
# traceback 模块 用来跟踪异常返回信息
import traceback
try:
print("5")
print(1/0)
except ZeroDivisionError:
traceback.print_exc()
# raise语句 主动抛出异常
try:
raise ZeroDivisionError("除数不能为0")
except ZeroDivisionError as e:
print(e)
#自定义异常
class ageException(Exception):
def __init__(self,errormsg):
Exception.__init__(self,errormsg)
self.errormsg = errormsg
def __str__(self):
return "年龄为:"+self.errormsg+",年龄不能为负数"
if __name__ == "__main__": #如果为主模块,则执行以下代码
age = int(input("请输入年龄:"))
if age < 0:
raise ageException(str(age))
else:
print("年龄为:",age)
#常见异常
# ZeroDivisionError 除数为0
# NameError 未声明/初始化对象
# TypeError 不同类型间的无效操作
# ValueError 传入无效的参数
# FileNotFoundError 文件未找到
# IndexError 索引超出范围
# KeyError 字典中不存在指定的键
# AttributeError 对象没有这个属性
# SyntaxError 语法错误
# IndentationError 缩进错误
# ImportError 导入模块失败
# ModuleNotFoundError 模块未找到
# IOError 输入输出错误
# OSError 操作系统错误
# KeyboardInterrupt 用户中断执行
# EOFError 输入结束
# StopIteration 迭代器没有更多的值
# AssertionError 断言错误
# UnboundLocalError 访问未初始化的本地变量
# RecursionError 递归错误
# MemoryError 内存错误
# SystemError 解释器系统错误
# FloatingPointError 浮点数错误
# OverflowError 数值运算超出最大限制
# TimeoutError 操作超时
# ConnectionError 连接错误
# ArithmeticError 算术错误
# BufferError 缓冲区错误
# LookupError 查找错误
# ReferenceError 引用错误
# UnicodeError Unicode错误
# WindowsError Windows错误
# Warning 警告
# DeprecationWarning 弃用警告
# FutureWarning 未来警告
# UserWarning 用户警告
# SyntaxWarning 语法警告
# RuntimeWarning 运行时警告
# ImportWarning 导入警告
# UnicodeWarning Unicode警告
# BytesWarning 字节警告
# ResourceWarning 资源警告
# PendingDeprecationWarning 待弃用警告
# SyntaxWarning 语法警告
python基础知识⑧—try..except语句,finally语句,traceback模块,with语句,raise语句,自定义error
最新推荐文章于 2024-04-30 09:30:00 发布