python之错误调试】的更多相关文章

无论谁写的程序,必定会存在bug,解决bug需要我们去调试程序.于是乎,在Python中,就会好几种调试手段,如print.assert.logging.pdb.pdb.set_trace() 一.使用print()函数直接打印 >>> def foo(s): ... n = int(s) ... print(n) ... return 10 / n ... >>> def main(): ... foo(') ... >>> main() 0 Tra…
try: print('try') r=10/2 print('result is:',r) #发生错误,会执行这部分 except ValueError as e: print('ValueError:', e) except ZeroDivisionError as e: print('ZeroDivisionError:', e) finally: #无论有没有发生错误,都执行 print("finally") Python的错误其实也是class,所有的错误类型都继承自Base…
########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,<数据>:捕获指定异常及其附加的数据 except:<异常名1,异常名2>:<数据>:捕获异常名1或者异常名2,及附加的数据库 常用异常名: 异常名…
错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 普通的错误处理机制就是在出错的时候返回一个错误代码,但是这样十分不方便,一是因为错误码是和正常结果一样的方式返回的,判断起来十分不方便,二是错误还需要一级一级的向上报,直到错误处理程序. 所以高级语言通常都内置了一套 try...except...finally... 的错误处理机制,Python也不例外. try: A#如…
raise: raise语句手工引发一个异常:,这样做程序不会因异常而终止,而是运行报错 1 "raise" [expression ["," expression ["," expression]]] def fun(x,y): if y == 0: raise ZeroDivisionError('y besides 0') return x / y >>>fun(2,0) #报错信息 raise ZeroDivisionE…
qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python def debug_demo(val): if val <= 1600 : print "level 1" print 0 elif val <= 3500 : print "level 2" print (val - 1600) * 0.05 elif val…
Atitit php  java  python  nodejs错误日志功能的比较 1.1. Php方案 自带 1 1.2. Java解决方案 SLF4J 1 1.3. Python解决方案 自带loggin 2 1.4. Node.js日志解决方案 log4js 2 1.4.1. 玩转Nodejs日志管理log4js - CNode技术社区 2 日志的俩中模式   文件日志与os event 日志.. Os日志的优点是格式整齐.以及有默认os工具gui故居查询等.. 1.1. Php方案 自带…
简介 动机 作用 用法 热度分析 源码分析 个人评分 简介 为Python加入利于调试的traceback信息.  动机 Python抛出异常时,会显示一些traceback信息.但是,一些时候这些信息并没有很多作用,不足以让你确定问题出现的原因. 这也是你大多数时候使用debugger的原因,你需要知道哪些代码运行,相关的变量当时是什么值... 作用 stackprint1并不是sentry2这种完整的错误监控系统,它只是为Python提供一个改良版的crash信息. 作者说,有时候他会使用…
编码占了编程工作量的90%,调试占了另外90%,这是一个流传着的笑话.调试在编程中占有很大的分量,即使专业的程序员也一直在制造缺陷. 抛出异常 抛出异常相当于是说:"停止运行这个函数中的代码,将程序执行转到except 语句".抛出异常使用raise 语句,在代码中,raise 语句包含以下部分: raise 关键字: 对Exception 函数的调用: 传递给Exception 函数的字符串,包含有用的出错信息. 通常是调用该函数的代码知道如何处理异常,而不是该函数本身.所以常常会看…
from:http://www.embeddedlinux.org.cn/html/jishuzixun/201307/08-2594.html 段错误调试神器 - Core Dump详解 来源:互联网 作者:Alex 时间:2013-07-08 Tag:Linux   点击: 11670 一.前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得困难起来…
python基础——错误处理 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因.在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1. 用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错: def foo(): r = some_function() if r==(-1): return (-1…
好久没有用Python了,居然忘记了怎么在Python IDLE中调试Python代码.百度了一下,然后还是写下来吧,以免以后又忘记了. 1. Set break point in the source file. 2. Show Python shell 3. Enable Debug 4. Run Module…
一.python的错误处理 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错以及出错的原因. 在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数open(),成功时返回文件的描述符(就是一个整数),出错时返回-1 用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须大量的代码来判断是否出错: def foo(): r = somefunction() if r == (-1): return (-1)…
用PIP 安装或升级python遇到错误提示 $ pip install pythons Collecting pythons Could not find a version that satisfies the requirement pythons (from versions: ) No matching distribution found for pythons 这是因为网络的问题,需要使用国内的镜像源来加速,比如豆瓣源 命令改为: pip install scikit-image …
python import 错误 TypeError: 'module' object is not callable 在这里,有 Person.py test.py; 在 test.py 里面 import Person 总是调用方法出错 Person.py class Person: def __init__(self,name): self.name = name print('this name is ',name) def hello(self): print('hello pytho…
BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 StandardError 所有的内建标准异常的基类 ArithmeticError 所有数值计算错误的基类 FloatingPointError 浮点计算错误 OverflowError…
Python帮助函数调试函数 用于获取对象的属性及属性值 刚接触Python,上篇 <Python入门>第一个Python Web程序--简单的Web服务器 中调试非常不方便,不知道对象详细有什么属性,包括什么值,所以写了一个函数.用于获取对象的属性及属性值 函数代码例如以下: #调试函数.用于输出对象的属性及属性值 def getAllAttrs(obj): strAttrs = '' for o in dir(obj): strAttrs =strAttrs + o + ' := ' +…
Python 编码错误解决方案 Python UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 7: ordinal not in range(128) 解决方案: import sys reload(sys) sys.setdefaultencoding('utf8') 当然如果非shell环境下需要给个头 #coding:utf-8 之前做 Flask的时候还需要一些奇怪的错误 如果电脑名带有中文的话也是…
10个最容易犯的Python开发错误 转载 2017年09月25日 16:54:36 标签: python / 大数据 / 大讲台   Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错误,这些错误都很容易避免,大讲台老师总结了Python开发者最常犯的10个错误,一起来看下,不知你中枪了没有. (一)滥用表达式作为函数参数默认值 Python允许…
BaseException # 所有异常的基类 +-- SystemExit # 解释器请求退出 +-- KeyboardInterrupt # 用户中断执行(通常是输入^C) +-- GeneratorExit # 生成器(generator)发生异常来通知退出 +-- Exception # 常规异常的基类 +-- StopIteration # 迭代器没有更多的值 +-- StopAsyncIteration # 必须通过异步迭代器对象的__anext__()方法引发以停止迭代 +-- A…
链接到错误处理 链接到调试 链接到单元测试 链接到文档测试 [错误处理] 小结:遇到错误怎么办? 1.不理它. 2.捕获它,再抛出. 3.捕获并处理错误. raise 不懂如何处理错误就直接抛出(raise),交由合适的层次处理,有时候需要自定义错误,但是通常使用Python内置的错误就可以了: #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 自定义的异常 class MyError(Exception): pass # 抛出异常的函数 def…
世界人都知道,程序总会有bug存在.复杂点的bug一般人不能一眼看出,这就一要一套调试程序的手段. 方法一:使用print()函数直接打印: >>> def foo(s): ... n = int(s) ... print(n) ... return 10 / n ... >>> def main(): ... foo(') ... >>> main() 0 Traceback (most recent call last): File "&…
1 捕捉错误:try except    Err_Case1: pass except    Err_Case2: pass else: 正常情况: finally: 无论是否异常都要 处理的代码 with语句. 2 触发异常: if  true raise     语句…
Python应用程序内存泄漏的调试 Quake Lee quakelee@geekcn.org 新浪网技术(中国)有限公司 Sina Research & Development Python-LDAP是什么? Python-LDAP是一个第三方的开源项目,主要目标是实现python的LDAP接口, 这是一个由C语言编写的Python扩展模块. 该模块的主要功能是把通过C接口调用libldap从中取出的数据,转换成为Python的对象, 除此之外还有逆向转换 Python-LDAP存在的问题 C…
Python 程序如何高效地调试? 现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug自己的python程序的?   参考资料: http://www.zhihu.com/question/21572891 http://www.cnblogs.com/qi09/archive/2012/02/10/2344959.html      …
  [转自:http://blog.csdn.net/luckeryin/article/details/4477233] 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python def debug_demo(val):                 if val <= 1600 :                                 print "level 1"   …
一.pdb使用 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等. 在程序中间插入一段程序(import pdb     pdb.set_trace() ),相对于在一般IDE里面打上断点然后启动debug,不过这种方式是hardcode的 1.加入断点 #!/usr/bin/python import pdb _DEBUG = True def debug_d…
在“笨办法学习python”中介绍了一些设计函数以及调试技巧: 参考网址:http://www.jb51.net/shouce/Pythonbbf/latest/ex36.html If 语句的规则¶ 每一个“if 语句”必须包含一个 else. 如果这个 else 永远都不应该被执行到,因为它本身没有任何意义,那你必须在 else 语句后面使用一个叫做 die 的函数,让它打印出错误信息并且死给你看,这和上一节的习题类似,这样你可以找到很多的错误. “if 语句”的嵌套不要超过 2 层,最好尽…
异常捕获 try 基本概念 我们使用try except来捕获异常,python的try except有几个特点: 不管函数内部嵌套几层,只要在try的范围内就可以被捕获.这句话的意思是一个函数被try语句包裹,这个函数中调用了另一个函数.如果被调用函数中发生了异常,那么在外层的函数中是可以被捕获到的: 特点 try except finally的执行逻辑是 ** 正常逻辑是try ->finally ** 错误逻辑是try ->except ->finally except 基本概念…
#####调试 #####查看日志与断言 ''' 抛出异常使用raise语句.在代码中,raise语句包含以下部分: (1)raise关键字; (2)对Exception函数的调用; (3)传递给Exception函数的字符串,包含有用的出错信息 ''' ###########################################抛出异常#################################### def boxPrint(symbol,width,height): if…