网络编程
位置:首页>> 网络编程>> Python编程>> python 打印完整异常问题

python 打印完整异常问题

作者:雪风飞舞  发布时间:2022-11-04 16:04:11 

标签:python,打印,异常

python打印完整异常

import traceback
if __name__ == "__main__":
   try:
       print(1/0)
   except Exception:
       print(traceback.format_exc())

python异常捕获与打印

为什么要进行异常捕获?

在python程序中如果代码中有异常,不进行异常捕获的话,代码遇到异常就会终止运行,影响程序的健壮性,故要进行异常捕获处理,使得程序遇到不可知的异常,不会终止,在exception代码块中进行异常处理后继续后面的代码执行。

异常捕获是捕获什么?

* 异常类型
* 异常追踪信息
*  异常内容

异常捕获的代码格式?

try:
    {content code}
except Exception as e:
    print("substitude exception,type={},content={}".format(repr(e),e))#y
else:
    print("code exec correct")#没有遇到异常,可以省略
finally:
     print("finnally echo")#无论是否遇到异常都会执行这段内容,先执行exception处理,后执行finally

利用raise自己定义异常并抛出,抛出的异常必须继承一个已有的异常类型,如TypeError(“param must be dict”)

def func3(p):
    if type(p)!= dict:
        raise TypeError("param must be dict")
    else:
        print(p)
if __name__ == '__main__':
 try:
    func3("123")
 except Exception as e:
    print("exception,type={},content={}".format(repr(e),e))
 finally:
     print("finnally echo")
    --------------------
    打印结果
    exception,type=TypeError('param must be dict'),content=param must be dict
finnally echo

打印异常

代码举例:

try:
    str2json = json.loads(str)
    return jsonpath.jsonpath(str2json,expr)
except Exception as e:
    cls.logger.info('collectjson exception = {}'.format(str(e)))

repr(e) 打印异常的类型 ,如在json转字符串时,传入一个字符串,那么会抛异常,repr(e)打印的是 JSONDecodeError('Extra data: line 1 column 8 (char 7)',清晰的看出来这个是json转换出了问题

str(e) 打印问题代码的具体问题行

Traceback (most recent call last):
  File "D:/python-workspace/iaminterfaceTest/jsonUtil.py", line 14, in collectjson
    str2json = json.loads(str)
  File "D:\python37\Lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "D:\python37\Lib\json\decoder.py", line 340, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 8 (char 7)

常见异常

  • IOError 文件读写异常,一般是文件不存在或者文件不可写入

  • ImportError 无法导入模块或者对象,主要是路径有误或名称错误

  • TypeError 类型转换异常

  • KeyError ditc读取key值不对,一般是不存在这个key值

来源:https://blog.csdn.net/weixin_45592677/article/details/121354794

0
投稿

猜你喜欢

  • SQL Server导出表到EXCEL文件的存储过程:*--数据导出EXCEL导出表中的数据到Excel,包含字段名,文件为真正的Excel
  • 新标准的熟悉和入门内容: 还在用 HTML 编写文档?如果是的话,就不符合当前标准了。2000 年&
  • 在python显示图象时,我们用matplotlib模块时会遇到图像色彩失真问题,究竟是什么原因呢,下面就来看看究竟。待显示图像为:impo
  • 前言在做接口自动化的时候,经常会遇到一些参数是需要加密的,比如密码参数。加密规则一般开发也不愿意告诉你,会直接给你一个jar包,让你调用ja
  • 查看依赖包及对应的版本号信息的方法有两种:方法1:pip list 方法2:pip freeze这两个同时适用于Windows和Linux系
  • 这个主要应用于,获取用户输入的时候,防止用户不小心,多输入了一个空格,导致验证无法通过,多用于用户名跟密码的,好多情况下,大家复制的winr
  • 一. 10句话1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global
  • 如下所示:import timedef date_compare(item1, item2): t1 = time.mktime(time.
  • PHP count_chars() 函数实例返回一个字符串,包含所有在 "Hello World!" 中使用过的不同字符
  • 最近,需要对日志文件进行实时数据处理。一、简单的实时文件处理(单一文件)假设我们要实时读取的日志的路径为: /data/mongodb/sh
  • 阅读上一篇:打造设计你自己的字体 Ⅱ永远都在寻觅字体设计的灵感。夏天过后,我买了一套便宜的书法钢笔,说服自己,它会让我的鸡爬字产生脱胎换骨的
  • 由于最近需要做项目,需要进行分词等,查了资料之后,发现python NLTK很强大,于是就想试试看。在网上找了很多安装资料,都不太完整,下载
  • 高层的期望“3个月内,我希望网站能增加X注册用户,每日的独立IP到Y,网站盈利达到Z……”作为一个团队的领袖或者产品负责人,这样的期望是根据
  • 本文实例为大家分享了python实现超市管理系统的具体代码,供大家参考,具体内容如下这个相比上个程序简单很多,首先他没有太过复杂的逻辑关系,
  • 导语:排版是一门艺术,也是一门技巧。我们每天都能在报纸,书籍等各种媒介上看到排版,或精美,或丑陋。如何能在准确传递信息的同时,又能排出精美的
  • Google中秋的logo出来了,酷似一美男站在月亮上,结果被网友弄出一撒尿版来。中国网民好智慧啊~原logo: 撒尿版logo:
  • 一、问题由来工作的局域网中,会接入很多设备,机器人上的网络设备就2个了,一个巨哥红外,一个海康可见光。机器人还有自身的ip。有时候机器人挂的
  • 此文仅当学习笔记用.这个实例是在Python环境下如何爬取弹出窗口的内容,有些时候我们要在页面中通过点击,然后在弹出窗口中才有我们要的信息,
  • 本文实例为大家分享了opencv+python实现图像矫正的具体代码,供大家参考,具体内容如下需求:将斜着拍摄的文本图像进行矫正python
  • 这篇文章主要介绍了python框架flask表单实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
手机版 网络编程 asp之家 www.aspxhome.com