IOError
输入输出错误importError
当import无法找到模块或from无法在模块中找到相应的名称引发的错误MemoryError
内存不足语法:
try: block1 except [ExceptionName [as alias]]: block2
参数:
block1:表示能出现错误的代码块。
exceptionName [as alias]:可选参数,用于指定要捕获的异常名,as可以指定别名
说明:
在使用try...except语句捕获异常时,如果在except后面不指定异常名称,则表示捕获全部异常。
block2:表示进行异常处理的代码块,这里可以输出固定的提示信息,也可通过别名输出异常的具体内容。
说明:
使用try...except语句捕获异常后,当程序出错时,输出错误信息后,程序会继续执行。
2.2 try...except...else语句在try...except语句基础上增加一个else,用于指定当try语句块没有发声异常时要执行的语句块。该语句块中的内容在try语句中发现异常的时候,将不被执行。即else是无异常时的语句。
2.3 try...except...finally语句
完整的异常处理语句应该包含finally语句。通常情况下,无论程序中有无异常产生,finally代码块中的代码都会被执行。
语法:
try: block1 except [ExceptionName [as alias]]: block2 finally: block3
说明
如果程序中有一些在任何情形中都必须执行的代码,那么久可以把它们放在finally语句的区块中。
说明
使用except子句是为了允许处理异常。无论是否引发了异常,使用finally子句都可以执行。如果分配了有限的资源(如打开文件),则应将释放这些资源的代码放置到finally块中。
实 *** 中将关闭 *** 作放在finally块中。
2.4 使用raise语句抛出异常如果在某个函数或方法可能会产生异常,但不想在当前函数或方法中处理这个异常,则可以使用raise语句在韩硕活方法中抛出异常。格式如下:
raise [ExceptionName[(reason)]]
参数:
ExceptionName:用于指定抛出的异常名称
reason:异常信息的描述。省略则不带描述。
以上两个参数为选参,如果省略,就会把当前的错误原样抛出。
3 程序调试3.1使用自带的IDLE进行程序调试
(1)打开IDLE,在主菜单选择Debug——>Debugger菜单项,窗口显示[DEBUG ON]表示已经处于调试状态
(2)python3.7.0Shell窗口,选择File->Open菜单项,打开要调试的文件,设置断点
断点的作用:设置断点后,程序执行到断点时,就会暂时中断执行,程序可以随时继续。
添加断点:在要添加断点的代码行上,单击右键,选择“Set Breakpoint”,添加断点的行将以黄色底纹标记。
删除断点:右键选择“Clear Breakpoint”
添加断点的原则:程序执行到这个位置时,想要查看某些变量的值,在这个位置添加一个断点
(3)执行
(4)调试结束,显示DEBUG OFF
3.2 使用assert语句调试程序assert是断言的意思,一般用于对程序某个时刻必须满足的条件进行验证。语法如下:
assert expression [,reason]
参数:
expression:条件表达式,True时,什么都不做,False时,抛出AssertionError异常
reason:可选参数,对判断条件条件进行描述。
assert通常和异常处理语句结合使用
try: division() # 调用函数 except AssertError as e: # 处理AssertError异常 print("n输出有误:",e)
assert语句只在调试阶段有效
python -O Demo.py #关闭assert语句
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)