异常处理
异常处理
一、异常简介
[1]什么是异常
- 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行
- 一般情况下,在Python无法正常处理程序时就会发生一个异常
[2]异常的分类
- 异常有很多分类,下图知识图中一部分
二、异常的捕获语法
[1]一般的日常捕获语法
- try : except:
try:
可能发生异常的语句
except (Exception as e):
print(e) # except 后如果不加东西也可以,仅仅只捕获异常
# 这样写可以打印出异常原因
(1)仅仅捕获异常不让它干扰程序
try:
print("1" + 1)
except:
print("出错了!")
(2)捕获所有异常
try:
print("1" + 1)
except Exception as e:
print(e) # 打印出异常原因
#can only concatenate str (not "int") to str
(3)捕获指定异常
try:
print("1" + 1)
except TypeError as e:
print(e) # 打印出异常原因
#can only concatenate str (not "int") to str
[2]异常分支语句
-
异常处理中除了必须的关机字try和except,还有else和finally。
#else 如果没有发生异常就会执行else的语句 try: print(1 + 1) except Exception as e: print(e) print("出错了!") else: #没出错时会执行下面的代码 print("没出错!") # finally 不管怎么样都要执行finally下的语句 try: print("1" + 1) except Exception as e: print(e) print("出错了!") else: print("没出错!") finally: print("异常处理结束!")
[3]主动触发异常
-
使用raise来自动触发异常、
try: print(1 + 2) raise TypeError("数字2属于字符串类型!!!") except Exception as e: print(e) ''' 3 数字2属于字符串类型!!! '''
[4]自定义异常
class MyException(BaseException):
def __init__(self, args):
print(f'MyException :>>>> {args}')
# def __new__(cls, *args, **kwargs):
# print(f'这是 MyException抛出的异常 ')
try:
raise MyException('这是自己的异常')
except Exception as e:
print(f"这是错误 {e}")
三、断言
[1]断言的介绍
- assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常
- 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况
[2]断言的使用
name = "Xanadu"
assert name == "bridge", "名字只能是Xanadu"
'''
AssertionError: 名字只能是Xanadu
'''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下