Python基础 第十章
10.1 基础概念
抛出异常: 当python试图执行无效代码时,就会抛出异常。其含义为:停止运行这个函数中的代码,将程序执行转到except语句。
抛出异常使用raise语句,包含以下部分:
raise关键字;
对Exception函数的调用;
传递给Exception函数的字符串,包含有用的出错信息。
若没有try和except语句覆盖抛出异常的raise语句,该程序就会崩溃,并且显示异常的出错信息。
取得反向跟踪的字符串: 如果python遇到错误,它就会生成一些错误信息,称为“反向跟踪”,包含了出错消息,导致该错误的代码行号,以及导致该错误的函数调用序列,这个序列称为“调用栈”。
断言: 是一个心智正常的检查,确保代码没有做什么明显错误的事情,由assert语句执行,如果检查失败,就会抛出异常。代码中,包含以下部分:
assert关键字;
条件(求值为True或False的表达式);
逗号;
当条件为False时显示的字符串。
IDLE的调试器: 调试器是IDLE的一项功能,让每次执行一次程序,将运行一行代码,然后等待用户告诉它继续,像这样让程序运行在“调试器”之下,则可以随便花时间,检查程序运行时任意一个时刻的变量的值。
将显示以下信息:
将要执行的代码行;
所有局部变量及其值的列表;
所有全局变量及其值的列表。
**GO:**如果点击GO按钮将导致程序正常执行到终止,或到达一个“断点”,若完成了调试,希望程序继续进行,就点击GO按钮。
Step: 点击Step按钮将令调试器执行下一行代码,然后再次暂停。如果变量的值发生了变化,调试控制窗口的全局变量和局部变量列表会更新。
Over: Over按钮将执行下一行代码,与Step按钮类似,但是若下一行代码是函数调用,Over按钮将“跨过”该函数的代码,该函数的代码将以全速执行。
Out: 点击Out按钮将导致调试器全速执行代码行,直到它从当前函数返回。
Quit: 如果希望完全停止调试,不必继续执行剩下的程序,就可点击Quit按钮,将马上终止该程序。
10.2习题
1.assert(spam >= 10, ‘The spam variable is less than 10.’)
2.assert(eggs.lower() != bacon.lower(), ‘The eggs and bacon variables are the same!’)
或assert(eggs.upper() != bacon.upper(), ‘The eggs and bacon variables are the same!’)
3.assert(False, ‘This assertion always triggers.’)
4.为了能调用logging.debug(),必须在程序开始时加入以下两行:
import logging
logging.basicConfig(level=logging.DEBUG, format=’ %(asctime)s -
%(levelname)s - %(message)s’)
5.为了能利用logging.debug() 将日志消息发送到文件programLog.txt 中,必须
在程序开始时加入以下两行:
import logging
logging.basicConfig(filename=‘programLog.txt’, level=logging.DEBUG,
format=’ %(asctime)s - %(levelname)s - %(message)s’)
6.DEBUG、INFO、WARNING、ERROR 和CRITICAL
7.logging.disable (logging.CRITICAL)
8.可以禁用日志消息,不必删除日志函数调用。可以选择禁用低级别日志消
息。可以创建日志消息。日志消息提供了时间戳。
9.Step 按扭让调试器进入函数调用。Over 按钮将快速执行函数调用,不会单
步进入其中。Out 按钮将快速执行余下的代码,直到走出当前所处的函数。
10.在点击Go 后,调试器将在程序末尾或断点处停止。
11.断点设在一行代码上,在程序执到到达该行时,它导致调试器暂停。
12.选中代码行,鼠标右击,选择sert breakpoint