python断点调试出现问题_Python错误、调试
1.错误处理
使用try except finally
try:
i= 10/0exceptZeroDivisionError, e:print "ZeroDivisionError", efinally:print "Finally"
ZeroDivisionError integer division ormodulo by zero
Finally
错误类型(含warning)
BaseException+--SystemExit+--KeyboardInterrupt+--GeneratorExit+--Exception+--StopIteration+--StandardError| +--BufferError| +--ArithmeticError| | +--FloatingPointError| | +--OverflowError| | +--ZeroDivisionError| +--AssertionError| +--AttributeError| +--EnvironmentError| | +--IOError| | +--OSError| | +--WindowsError (Windows)| | +--VMSError (VMS)| +--EOFError| +--ImportError| +--LookupError| | +--IndexError| | +--KeyError| +--MemoryError| +--NameError| | +--UnboundLocalError| +--ReferenceError| +--RuntimeError| | +--NotImplementedError| +--SyntaxError| | +--IndentationError| | +--TabError| +--SystemError| +--TypeError| +--ValueError| +--UnicodeError| +--UnicodeDecodeError| +--UnicodeEncodeError| +--UnicodeTranslateError+--Warning+--DeprecationWarning+--PendingDeprecationWarning+--RuntimeWarning+--SyntaxWarning+--UserWarning+--FutureWarning+--ImportWarning+--UnicodeWarning+-- BytesWarning
logging模块记录错误信息
importloggingdefTest(i):try:
j= 10/iexceptStandardError, e:print "standardError"logging.exception(e)print "Test"Test(0)print "End"
standardError
ERROR:root:integer divisionormodulo by zero
Test
End
Traceback (most recent call last):
File"F:/PyProject/test2.py", line 9, inTest
j= 10/i
ZeroDivisionError: integer divisionor modulo by zero
自定义错误类型继承内置错误类型
class FooError(StandardError):
pass
def foo(s):
n = int(s)
if n == 0:
raise FooError("value is %s" % s)
foo("0")
Traceback (most recent call last):
File"F:/PyProject/test2.py", line 18, in foo("0")
File"F:/PyProject/test2.py", line 15, infooraise FooError("value is %s" %s)__main__.FooError: value is 0
另 可以在except中捕获错误之后 使用 raise 将错误抛给顶层调用者去处理
2.调试
assert 断言
deffoo(n):
i=int(n)assert i != 0, "catch assert"
returni
a= foo("0")print a
Traceback (most recent call last):
File"F:/PyProject/test2.py", line 13, in a= foo("0")
File"F:/PyProject/test2.py", line 10, infooassert i != 0, "catch assert"
AssertionError: catch assert
相当于 if i != 0 为True 继续执行 反之 抛出 AssertionError并中断运行
关闭assert方法 是 在python 解释器中加参数 -O 来将python编译成pyo文件
logging不会抛出错误 但是会打日志 默认logging级别是WARNING 通过logging.basicConfig(level=logging.日志等级)修改默认值
logging模块将日志打印到了标准输出中,且只显示了大于等于设定级别的日志 (日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG >NOTSET)
默认格式为 Logger:输出内容
启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态
以参数-m pdb启动程序后,pdb定位到下一步要执行的代码。输入命令l来查看代码。任何时候都可以输入命令p 变量名来查看变量。
pdb.set_trace() 这个方法也是用pdb,但是不需要单步执行,我们只需要import pdb,然后,在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点,行代码,程序会自动在pdb.set_trace()暂停并进入pdb调试环境,可以用命令p查看变量,或者用命令c继续运行
python断点调试出现问题_Python错误、调试相关推荐
- 7 php程序的调试方法_PHP程序错误调试方法 让php显示错误提示
公司的服务器用的是wdcp搭建的环境,安装非常方便,但是在开发的过程可能把函数名之内的东西写错了,服务器直接返回的是500错误,没有任何错误提示,只是告诉你500错误,很让人头疼,这样调试错误很不方便 ...
- Linux内存不够调试,Linux系统内存错误调试方法
而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由g ...
- python断点调试从哪里看数据_python断点调试
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 很多项目是用python写构建脚本的,比如微信最近开源的终端跨平台组件 mars ...
- python示例异常处理与程序调试_Python错误处理及代码调试方
一次写完代码程序并能够正常运行的概率很小很小,总会有各种各样的错误bug需要处理.有的报错简单,看看报错信息简单修改一下就可以了. 但是有的报错很复杂,特别是一些复杂长代码,需要我们定位到错误的位置, ...
- chatgpt赋能python:Python断点调试指南:让调试更高效
Python断点调试指南:让调试更高效 在Python编程中,调试是一个必不可少的环节.当我们面临代码出现错误或程序不按预期运行时,如何快速找到问题,解决它们呢?这时候断点调试就发挥了重要的作用.本篇 ...
- Python断点调试方法
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 代码调试技巧 Debug 对于任何开发人员都是一项非 ...
- python逐行调试_python单步调试
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文由腾讯云+社区自动同步,原文地址 https:stackoverflow.c ...
- python断点调试_「Python调试器」,快速定位各种疑难杂症!!!
在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要讲 ...
- python代码调试中间变量_Python代码调试的那些“最少且必要”技巧
原标题:Python代码调试的那些"最少且必要"技巧 异常处理模块能帮助我们在运行期间处理异常信息,但Python代码还有更为基础的错误--语法错误和逻辑错误. 语法错误相对简单, ...
最新文章
- JS设计模式(13)状态模式
- java中日期计算时间差,用java计算日期/时间差
- 第三日:继续恢复网站
- python分割数字_对python数据切割归并算法的实例讲解
- android popupwindow 自定义背景,android – 无法将PopupWindow背景设置为透明
- amh 4.2 升级php_Centos系统 + AMH4.2面板 PHP升级7.3.5
- CF455B A Lot of Games
- Struts2中的国际化
- 用SYS本地登录或远程登录引起ORA-01031错误
- django+xadmin在线教育平台慕学网(一)
- Java分布式开发中的RPC
- 最新版校园招聘进大厂系列----------(5)百度篇 -----未完待续
- OpenSSL密码库算法笔记——第2.4章 三种模运算的比较
- 【科创人独家】云风:从创业到招安,自由的游戏玩家+务实的程序员
- Qt 人脸对比体温检测软件(界面酷炫),千人毫秒响应
- 【百度】怎么使用cookie登陆百度账号
- Nodejs 服务端生成验证码
- 在2022年需要使用的25个最佳GOOGLE CHROME扩展
- 量子计算与区块链抗量子算法
- 群晖NAS搭建portainer