ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

异常处理与模块化编程实战精解

异常处理与模块化编程实战精解 摘要本文回顾本周所学重点温习两大知识点一是异常处理掌握try...except...finally结构能在文件操作、程序中断等场景下优雅处理错误、保证资源释放二是模块与包的引用通过王者荣耀英雄管理系统项目理解模块化编程学会from 模块名 import 函数名导入自定义模块并踩过ModuleNotFoundError的坑最终搞清了import的机制与if __name__ __main__:的作用。本周雷老板带领我们学习了异常处理模块和包的引用方法让我们一起来温习一下吧。异常处理方面通过学习我掌握了try...except...finally的基本结构能够用try包裹可能出错的代码用except捕获并处理异常用finally保证无论是否报错都会执行的清理操作。最典型的就是文件操作场景 —— 在try里执行文件读写except Exception as e捕获异常并打印错误信息finally里调用f.close()关闭文件这样即使读写过程中报错文件也能被正常关闭模拟了with open自动关闭文件的底层原理。在王者荣耀英雄管理系统的主程序中我还学会了用except KeyboardInterrupt专门捕获用户按CtrlC中断程序的情况在中断前自动调用save_heroes(heroes)保存数据避免数据丢失。通过这些练习我理解了异常处理不是为了掩盖错误而是为了让程序在出错时能优雅地处理、保证资源被正确释放、给用户友好的提示而不是直接崩溃。模块和包的引用方面通过王者荣耀英雄管理系统这个项目我真正理解了模块化编程的意义。学会了用from 模块名 import 函数名的方式从自定义模块中导入函数比如from storage import load_heroes, save_heroes导入文件读写函数from operations import show_heroes, add_hero, delete_hero, update_hero, search_hero导入业务操作函数这样主程序first1.py只负责菜单调度具体的功能都拆分到不同的模块文件里代码结构清晰、便于维护。在这个过程中我还踩了一个经典的坑 —— 因为storage.py和operations.py两个模块文件没有创建运行时报了ModuleNotFoundError: No module named operationsPyCharm 还误以为是第三方库去用pip install结果当然找不到。通过解决这个问题我搞清楚了import导入的是**同目录下的.py文件模块名就是文件名导入前必须确保文件存在且在正确的目录下。同时也理解了if __name__ __main__:的作用 —— 它能让一个.py文件既可以被其他模块导入又可以作为主程序直接运行。
返回列表