Python3 基础:错误处理

来源:互联网 发布:曼秀雷敦润唇啫喱知乎 编辑:程序博客网 时间:2024/05/29 04:45

Python所有的错误都是从BaseException类派生的,常见的错误类型和继承关系看这里:
https://docs.python.org/3/library/exceptions.html#exception-hierarchy

错误处理

首先看代码:

class Err(object):    def show(self,i):        try:            r = 10 / int(i)            print(r)        except ZeroDivisionError as e:            print('except:', e)        else:            print('no error!')        finally:            print('finally')        print('END!')

Python使用 try...except...finally... 来处理错误。

可以使用raise 抛出错误。

调试

方法一:print()打印。
方法二:assert 断言,如果断言失败,assert语句本身就会抛出 AssertionError,在运行.py文件的时候可以使用 python3 -o xxx.py 关闭断言。关闭后,你可以把所有的 assert 语句当成 pass 来看。

assert n != 0, 'n is zero!'

方法三:logging

import logginglogging.basicConfig(level=logging.INFO)

logging的好处,它允许你指定记录信息的级别,有debug,info,warning,error 等几个级别,当我们指定level=INFO时,logging.debug就不起作用了。同理,指定level=WARNING后,debug和info就不起作用了。这样一来,你可以放心地输出不同级别的信息,也不用删除,最后统一控制输出哪个级别的信息。

方法四:pdb
启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。
-m pdb 的方式运行py文件:

$ python3 -m pdb err.py

输入 l 查看代码,输入 n 单步执行代码,输入命令p 变量名来查看变量,输入命令q结束调试,退出程序。

方法五:pdb.set_trace()
这个方法也是用pdb,但是不需要单步执行,我们只需要import pdb,然后,在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点。

方法六:使用IDE【 PyCharm 】
这个是最好用的方法。

0 0
原创粉丝点击