错误处理及调试
2015-09-12 23:20
330 查看
try..except…finally
try: code except error as e: code else: code #没有错误时执行 finally: code #不管有没有错误都执行 code #正常
抛出错误
用raise关键字将错误抛出。def foo(s): n = int(s) if n == 0: raise ValueError('invalid value: %s'%s) return 10/n
调试
print()
在可能的地方,用print()断言
跟print()差不多def foo(s): n = int(s) assert n != 0,'n is zero' return 10/n foo('0')
logging
将print()替换成logging,可以控制输出哪个级别的信息。import logging logging.basicConfig(level = logging.INFO) s = '0' n = int(s) logging.info('n = %d'%n) print(10/n)
level的级别有debug、info、warning、error
pdb
python -m pdb xxxx.py
l查看所有代码
n单步执行程序
p 变量名查看变量
q结束调试。
c继续运行
#err.py import pdb s = '0' n = int(s) pdb.set_trace() #设置断点 print(10/n)
相关文章推荐
- hdu 2067 小兔的棋盘 卡特兰数+java
- (小结)第一章:计算机、程序和Java概述
- Pylearn2的Stacked Autoencoders示例
- XAMPP+Mantis安装步骤
- kali2.0 U盘安装的工具
- dsfg
- getopts命令行参数处理
- testlink与mantis
- USB转串口(RS232、RS485)
- Python PIL图片数据操作
- 《剑指offer》翻转单词顺序列
- 如何阅读Java
- Pylearn2的使用简介
- Unity3D笔记第七天——光源、摄像机
- Quartz JobStore管理Job
- CPTTRN2 - Character Patterns (Act 2)
- sed及awk显示指定行内容
- hdu1099
- Git使用教程(一)---本地git管理
- 初级vector