直播软件源码,异常偶有发生我们该如何处理?
直播软件源码,异常偶有发生我们该如何处理?
初识异常
异常与异常处理:
- 异常既错误
- 异常会导致程序崩溃并停止运行
- 异常处理可以捕获到异常,将异常部位的程序进行处理使得直播软件源码继续正常运行
异常处理的结构由 try-except 代码块组成
try: 代码块 #被try关键字检查并保护的代码 except <异常类型> # try关键字检查的代码可能出现的异常的种类 代码块 # try关键字检查的代码出现异常后执行的代码
def upper(str_data): new_str = str_data.upper() return new_str res = upper('hero') print(res)
调用 upper 函数时,传入字符串,函数可以正常执行,如果传入数字则会报错
res_01 = upper(111) print(res_01) res_02 = upper('hello') print(res_02)
错误代码后面的代码无论正确与否一旦出现异常,程序就会终止,这个时候就需要对这段可能会出错的代码进行异常处理,确保直播软件源码能正常运行。
def upper(str_data): new_str = '' try: new_str = str_data.upper() except: print('程序执行出现问题') return new_str
对函数中可能出现异常的代码进行了异常处理,程序可以正常执行。
捕获异常
可以对try-except代码中的异常进行捕获,再不确定是那种异常的情况下可以使用异常的基类Exception进行捕获
def divid(x, y): res = 0 try: res = x / y except Exception as e: print(e) return res res = divid(1, 2) print(res) res_01 = divid(1, 0) print(res_01) res_02 = divid(10, 2) print(res_02)
不使用try-except异常处理,执行函数,查看控制台打印出的具体异常
def divid(x, y): res = x / y return res
可以看出控制塔打印的异常为 “ZeroDivisionError: division by zero”,如果可以确定具体的异常类型,也可以在except关键字后捕获具体的异常
def divid(x, y): res = 0 try: res = x / y except ZeroDivisionError as e: print(e) return res
在对列表和字符串进行索引操作时还会出现索引超出范围异常,使用这个异常看能否不会divid函数中的异常
def divid(x, y): res = 0 try: res = x / y except IndexError as e: print(e) return res
直播软件源码运行还是出错,这是因为异常类型不匹配,所以没有捕获到,在进行异常处理时如果可以确定具体的异常类型就使用具体的异常类型,如果不确定就是用基类异常,使用的异常不匹配程序仍然不能正确执行
捕获多个异常
可以通过连续添加except代码块的方式捕获多个异常。
try: # 代码块 except Eexception1 as e1: # 代码块 except EXception2 as e2: # 代码块 except EXception3 as e3: # 代码块
当 except 代码块有多个的时候,当异常类型匹配后,就不会继续往下捕获,也可以使用元组将所有待捕获的异常存起来。
try: # 代码块 except (Eexception1, Exception2, Exception3) as e: # 代码块
def divid(x, y): res = 0 try: res = x / y except (IndexError, NameError, ZeroDivisionError) as e: print(e) return res
或者
def divid(x, y): res = 0 try: res = x / y except IndexError as e: print(e) except NameError as e2: print(e2) except ZeroDivisionError as e3: print(e3) return res
以上就是直播软件源码,异常偶有发生我们该如何处理?, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2023-03-16 视频直播app源码,Swift动态修改Icon,消除系统弹窗
2023-03-16 在线直播源码,npm设置镜像的方法 可切换
2023-03-16 直播平台源代码,数字化大屏地图轮播的实现echarts
2022-03-16 一对一直播源码,实现一个简单的登录界面
2022-03-16 app直播源码,自定义两种Activity切换动画实现
2022-03-16 直播平台开发,实现点击跳转外部链接时的跳转步骤