python--traceback模块
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
# 异常处理在python中已经屡见不鲜了,我们不仅可以处理异常,也可以将异常打印出来.
try:
print(a) # 显然a没有被定义
except Exception as e:
print(e)
# 程序的输出结果如下
'''
name 'a' is not defined
'''
# 但仅仅如此,我们却不知道程序在什么地方报的错
# 当我们不使用try语句时,解释器会给我们报出很详细的错误,但此时程序也崩溃了
# 如何在保证程序不崩溃的前提下,获取详细的错误信息呢?
# 这时候,可以使用traceback模块下的方法
import traceback
try:
print(a) # a依旧没有被定义
except Exception as e:
traceback.print_exc()
print('古明地盆')
# 程序输出结果如下
'''
Traceback (most recent call last):
File "F:/satori/python--traceback/异常处理.py", line 22, in <module>
print(a) # a依旧没有被定义
NameError: name 'a' is not defined
古明地盆
'''
# 可以看出来这和程序崩溃时,解释器报出的错误是一致的,但我们下面的字符串还是被打印了出来
# 除了traceback.print_exc()之外,还可以使用traceback.format_exc()
# 区别是traceback.print_exc()报出的错误的形式跟程序崩溃时一模一样,连字体颜色也是红色,咋一看会真的以为程序报错
# 但traceback.format_exc()则是以字符串的形式返回,但需要加上print
try:
print(a) # a依旧没有被定义
except Exception as e:
print(traceback.format_exc())
# 程序输出结果如下
'''
Traceback (most recent call last):
File "F:/satori/python--traceback/异常处理.py", line 39, in <module>
print(a) # a依旧没有被定义
NameError: name 'a' is not defined
'''
# 虽然看起来和上面没有区别,但后者是以字符串返回的,没有红红的字体。
# 此外traceback.print_exc()还可以将错误信息写到文件当中
try:
print(a) # a依旧没有被定义
except Exception as e:
traceback.print_exc(file=open('traceback.txt','w',encoding='utf-8'))
# 可以看到新出现了traceback.txt文件,打开文件可以看到如下信息
'''
Traceback (most recent call last):
File "F:/satori/python--traceback/异常处理.py", line 52, in <module>
print(a) # a依旧没有被定义
NameError: name 'a' is not defined
'''
python--traceback模块的更多相关文章
- Python traceback 模块,追踪错误
Python traceback 模块,追踪错误 import traceback try: your code except: traceback.print_exc()
- Python traceback模块简单使用
Python中的traceback模块被用于跟踪异常返回信息,可以在logging中记录下traceback. traceback.format_exc() 获取异常为字符串,保存到日志文件 try: ...
- Python traceback 模块, 打印异常信息
Python感觉是模仿Java, 到处都需要加try..catch.... 这里记录一下用法,方便后续使用. # -*- coding:utf-8 -*- import os import loggi ...
- Python 进阶 之 traceback模块
Traceback模块官方英文描述: Help on module traceback: NAME traceback - Extract, format and print information ...
- Python 处理异常栈模块——traceback 模块
异常捕捉 通常我们在项目中,针对异常的捕捉会使用 try + except,基本形式如下: try: # 主代码 except IndexError as e: # 索引异常时执行这里 logger. ...
- python的traceback模块
import traceback try: 1/0 except Exception,e: traceback.print_exc() 输出结果是 Traceback (most recent cal ...
- python标准库介绍——24 traceback 模块详解
==traceback 模块== [Example 2-18 #eg-2-18] 展示了 ``traceback`` 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常 ...
- Python中的traceback模块
traceback模块被用来跟踪异常返回信息. 如下例所示: 1.直接打印异常信息 import traceback try: raise SyntaxError, "traceback t ...
- python - 标准库:traceback模块
traceback 模块: 允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常时解释器所做的. import traceback try: raise SyntaxErro ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
随机推荐
- 减少Android staido 占用C 盘
1.gradle 更换文件夹: 设置GRADLE_USER_HOME环境变量 在/etc/profile或~/.bash_profile增加如下: export GRADLE_USER_HOME=D: ...
- DbVisualizer 解决中文乱码问题
在SQL Commander中,sql语句中如果有中文,显示是‘口口口’. 解决办法如下: 在Tools->tool Properties->General->Appearance- ...
- 很全的 Python 面试题
很全的 Python 面试题 Python语言特性 1 Python的函数参数传递 看两个例子: Python 1 2 3 4 5 a = 1 def fun(a): ...
- 《Cracking the Coding Interview》——第18章:难题——题目10
2014-04-29 04:22 题目:给定一堆长度都相等的单词,和起点.终点两个单词,请从这堆单词中寻找一条变换路径,把起点词变成终点词,要求每次变换只能改一个字母. 解法:Leetcode中有Wo ...
- spring 笔记2:Spring MVC : Did not find handler method for 问题的解决
日志显示为: Looking up handler method for path /***Did not find handler method for [/***]No mapping found ...
- 为什么要内存对齐 Data alignment: Straighten up and fly right
转载于http://blog.csdn.net/lgouc/article/details/8235471 为了速度和正确性,请对齐你的数据. 概述:对于所有直接操作内存的程序员来说,数据对齐都是很重 ...
- 【Linux命令】删除大文件后磁盘空间未释放问题
前言 工作中经常遇到Linux系统磁盘空间不足,但是删除后较大的日志文件后,发现磁盘空间仍没有被释放,有点摸不着头脑,今天博主带大家解决这个问题. 思路 1.工作发现磁盘空间不足: 2.找到占用磁盘空 ...
- dpkg.cfg
- shell中的>&1和 >&2是什么意思?
当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 在 shell 程 ...
- RabbitMQ-Java客户端API指南-上
RabbitMQ-Java客户端API指南-上 客户端API严格按照AMQP 0-9-1协议规范进行建模,并提供了易于使用的附加抽象. RabbitMQ Java客户端使用com.rabbitmq.c ...