异常、资源生命周期与恢复
Python 编程、脚本与集成服务开发#FDE#第二阶段#Python 编程、脚本与集成服务开发#异常、资源生命周期与恢复约 558 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
输入错误、依赖错误与程序错误怎样区分?
追问 分别应如何提示、记录和退出?哪些错误不适合自动重试?
为什么不宜捕获所有异常后返回“处理成功”?
追问 调用方会失去哪些信息?怎样保留上下文并传播无法恢复的错误?
怎样使用异常链保留底层原因?
追问 转换为业务异常时需要保留什么?返回给用户和写入内部日志的信息如何区别?
with 与 finally 分别怎样帮助释放资源?
追问 文件、连接和锁在正常或异常路径如何清理?退出进程或外部中断时还需要什么保护?
逐行继续处理与整批终止应怎样选择?
追问 坏数据、映射错误和凭据失效的影响有何不同?继续执行是否会生成大量错误结果?
怎样给重试设置边界?
追问 次数、间隔、总时间与可重试错误如何定义?已经产生写入副作用的请求应先确认什么?
输入迭代器中途抛异常时怎样保留已处理结果?
追问 读取阶段与处理阶段如何分别记录?如何避免把不完整文件统计为完整成功?
清理操作本身失败时,怎样保留原始异常?
追问 主操作错误和清理错误哪个优先报告?遗留临时文件或连接怎样进入后续检查?
怎样为不可恢复错误提供有效诊断上下文?
追问 任务、输入位置、配置版本和异常类型如何关联?哪些原始数据不应直接写入日志?
进程重启后,怎样判断上次任务该继续还是重做?
追问 持久状态与远端结果如何核对?内存变量为什么不能承担跨重启恢复依据?