异常指程序软件运行过程中出现的不正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。
异常处理,指程序在出现问题时依然可以正确执行剩余的程序,而不会因为异常而终止程序执行。
python中引进了很多用来描述和处理异常的类
baseException——Exception——NameError、ValueError、AttributeError
遇到异常:1.定位错误
2.百度并查看十个相关帖子,尝试解决
3.询问同学/老师
try...一个except结构try:
被监控的可能引发异常的语句块
except baseException [as e]:
异常处理语句块
如果try模块中发生了异常,则跳过try块中后续代码,跳到相应except块中处理异常,异常处理完后,继续执行后续代码
try...多个except结构为了尽可能捕获多个异常,并针对性地写出异常处理代码,为了避免遗漏,可以在最后增加baseException
try:
被监控的可能引发异常的语句块
except Exception1:
处理Exception1的语句块
except Exception2:
处理Exception2的语句块
...
except baseException [as e]:
异常处理语句块
try...except...else结构增加else块,若try中没有异常,则执行else块
try...except...finally结构无论是否发生异常,都会被执行,通常用来释放try块中申请的资源
return语句作用:结束方法运行、返回值
一般将return放到最后
常见异常的解决 SyntaxError:语法错误 NameError:尝试访问一个没有申明的变量 ZeroDivisionError:除数为0错误 ValueError:数值错误 TypeError:类型错误 AttributeError:访问对象的不存在的属性 IndexError:索引越界 KeyError:字典关键字不存在 with上下文管理通过with上下文管理,实现更方便的释放资源的操作
语法结构如下:
with context_expr[as var]:
语句块
with上下文管理器可以自动管理资源,再with执行完毕后自动还原进入该代码之前的现场或者上下文。无论何种原因跳出with块,不论是否有异常,总能保证资源正常释放。
方便文件管理、网络通信的开发
traceback模块打印错误信息
自定异常类自定异常类一般都是运行时异常,通常继承Exception及其子类即可,命名一般以Error、Exception为后缀。
自定义异常由raise语句主动抛出
pycharm开发环境的调试核心是设置断点,程序执行到断点时,暂时挂起,停止执行,就像暂停,可以详细观看停止出的每一个细节。
断点1.设置断点:在行号后单击,即可进入断点
断点上再单击即可取消



