python打印异常信息的两种实现方式
1. 直接打印错误
try: # your code except KeyboardInterrupt: print("quit") except Exception as ex: print("出现如下异常%s"%ex)
如下例子
try: 2/0 except Exception as e: print(e)
结果为:division by zero
2. 用traceback模块打印
上述结果看不到具体错误的信息,如行数啥的,不方便调试的时候定位,因此也可以用traceback模块,方便调试
import traceback try: 2/0 except Exception as e: traceback.print_exc()
结果为:
Traceback (most recent call last): File "c:\Users\Administrator\Desktop\test1.py", line 3, in <module> 2/0 ZeroDivisionError: division by zero
ps:上述traceback.print_exc()是直接打印错误
还可以用traceback.format_exc()返回字符串,可将错误信息保存在文档日志中
可以说traceback.print_exc()等同于print traceback.format_exc()
以上这篇python打印异常信息的两种实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python用Try语句捕获异常的实例方法
python的异常,以及用try复合语句处理异常. 运行代码时有时会出现各种各样的错误,致使解析器中断执行,并提示xxxxxxErorr的提示,后面跟具体的错误的描述,这被称为是引发了异常. 其实异常告诉我们的是遇到了什么类型的错误.xxxxErorr就是python内置的异常类型.每一种异常类型,都有它自己的错误信息. 有一种比较容易辨识,容易处理的错误,语法错误:SyntaxError 是由于写代码时的语法错误,大部分的解析器都会提前提示,像pycharm,在书写时如果语法错误,都会有波浪线
-
python traceback捕获并打印异常的方法
异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误 下面来介绍traceback模块来进行处理 try: 1/0 except Exception, e: print e 输出结果是integer division or modulo by zero,只知道是报了这个错,但是却不知道在哪个文件哪个函数哪一行报的错. 使用traceback try: 1/0 except Exception, e: traceback.print_exc(
-
Python使用try except处理程序异常的三种常用方法分析
本文实例讲述了Python使用try except处理程序异常的三种常用方法.分享给大家供大家参考,具体如下: 如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except .........: do something ....... 但是你并不知道"语句1至语句N"在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所以在"except
-
基于python traceback实现异常的获取与处理
这篇文章主要介绍了基于python traceback实现异常的获取与处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.traceback.print_exc() 2.traceback.format_exc() 3.traceback.print_exception() 简单说下这三个方法是做什么用的: 1.print_exc():是对异常栈输出 2.format_exc():是把异常栈以字符串的形式返回,print(traceback
-
Python自定义一个异常类的方法
如何实现自定义一个异常 python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误.那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类型. 首先需要了的是自定义类是的父类: python说明文档中是这样说 exception Exception: 所有内置的非系统退出类异常都派生自此类. 所有用户自定义异常也应当派生自此类. 那么就可以通过直接或间接的继承Exception就可以自定义一个异常类,当然也可以间接的继承python内
-
python打印异常信息的两种实现方式
1. 直接打印错误 try: # your code except KeyboardInterrupt: print("quit") except Exception as ex: print("出现如下异常%s"%ex) 如下例子 try: 2/0 except Exception as e: print(e) 结果为:division by zero 2. 用traceback模块打印 上述结果看不到具体错误的信息,如行数啥的,不方便调试的时候定位,因此也可以用
-
python对象转字典的两种实现方式示例
本文实例讲述了python对象转字典的两种实现方式.分享给大家供大家参考,具体如下: 一. 方便但不完美的__dict__ 对象转字典用到的方法为__dict__. 比如对象对象a的属性a.name='wk', a.age=18, 那么如果直接将使用a.__dict__获得对应的字典的值为: {name: 'wk', aget:18}, 很方便, 但是也存在一些限制. 其不完美之处在于: 比如: class A(object): name = 'wukt' age = 18 def __init
-
Python捕获异常堆栈信息的几种方法(小结)
程序出错的时候,我们往往需要根据异常信息来找到具体出错的代码.简单地用print打印异常信息并不能很好地追溯出错的代码: # -*- coding: utf-8 -*- def foo(a, b): c = a + b raise ValueError('test') return c def bar(a): print('a + 100:', foo(a, 100)) def main(): try: bar(100) except Exception as e: print(repr(e))
-
Python在图片中添加文字的两种方法
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧 一.使用OpenCV 在图片中添加文字看上去很简单,但是如果是利用OpenCV来做却很麻烦.OpenCV中并没有使用自定义字体文件的函数,这不仅意味着我们不能使用自己的字体,而且意味着他无法显示中文字符.这还是非常要命的事情.而且他显示出来的文字位置也不太好控制.比如下面的代码,他想做的仅仅是显示数字3: 代码: #coding=utf-8 import cv2 import numpy as
-
python使用mysql的两种使用方式
Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymql pymsql是Python中操作MySQL的模块,在windows中的安装: pip install pymysql 入门:我们连接虚拟机中的centos中的mysql,然后查询test数据库中student表的数据 import pymysql #创建连接 conn = pymysql.connect(host='192.168.123.207',port=3306,user='r
-
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
本文实例讲述了Python操作MySQL数据库的两种方式.分享给大家供大家参考,具体如下: 第一种 使用pymysql 代码如下: import pymysql #打开数据库连接 db=pymysql.connect(host='1.1.1.1',port=3306,user='root',passwd='123123',db='test',charset='utf8') cursor=db.cursor()#使用cursor()方法获取操作游标 sql = "select * from tes
-
python爬虫模拟浏览器的两种方法实例分析
本文实例讲述了python爬虫模拟浏览器的两种方法.分享给大家供大家参考,具体如下: 爬虫爬取网站出现403,因为站点做了防爬虫的设置 一.Herders 属性 爬取CSDN博客 import urllib.request url = "http://blog.csdn.net/hurmishine/article/details/71708030"file = urllib.request.urlopen(url) 爬取结果 urllib.error.HTTPError: HTTP
-
Python之关于类变量的两种赋值区别详解
我就废话不多说了,还是直接看代码吧! # -*- coding:utf-8 -*- #面试题,写一个方法,将一行字符串中所有的单词数量统计出来 class Person(object): TAG = "hello" p1 = Person() p2 = Person() print p1.TAG #第一种赋值方式 print p2.TAG print Person.TAG #第二种赋值方式 p1.TAG = "damn it" print p1.TAG print
-
微信小程序开发之获取用户信息的两种方法
今天介绍两种微信小程序获取用户信息的方法 第一中直接授权获取(在同一页面之中): 首先在微信程序一个页面的WXML文件写入获取用户信息的按钮 <!-- bindTap用于绑定事件 --> <button type="default" bindtap="getUserInfor"> 登录</button> <!-- 展示获取到的用户信息 --> <image src="{{userinfor.avatar
-
python实现中文输出的两种方法
本文实例讲述了python实现中文输出的两种方法.分享给大家供大家参考.具体如下: 方法一: 用encode和decode 如: import os.path import xlrd,sys Filename='/home/tom/Desktop/1234.xls' if not os.path.isfile(Filename): raise NameError,"%s is not a valid filename"%Filename bk=xlrd.open_workbook(Fi
随机推荐
- PHP + plupload.js实现多图上传并显示进度条加删除实例代码
- JavaScript实现的图像模糊算法代码分享
- jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
- iOS仿热门话题热点轮播界面tableView
- oracle sys_connect_by_path 函数 结果集连接
- 更改Ubuntu默认python版本的两种方法python-> Anaconda
- 动态改变div的z-index属性的简单实例
- javascript 获取radio的value的函数 [已测]
- 学习使用curl采集curl使用方法
- Yii2单元测试用法示例
- 用CSS控制表格或单元格强制换行,防止表格被英文单词或中文撑大
- Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
- 关于setInterval、setTimeout在jQuery中的使用注意事项
- 提高 DHTML 页面性能
- JS实现1000以内被3或5整除的数字之和
- 微信小程序 下拉菜单的实现
- 在flex中执行一个javascript方法的简单方式
- linux下/etc/passwd文件的选项说明
- 浅析PKI加密解密 OpenSSL
- C#线程同步的三类情景分析