首页 > 编程语言 >使用Python内置的错误信息

使用Python内置的错误信息

时间:2023-07-22 11:00:51浏览次数:32  
标签:division 内置 exc Python traceback 错误信息 base print 异常

 1 '''
 2 语法1:
 3     try:
 4         可能引发异常的代码块
 5     except 异常类 as e:  # 使用e作为其别名
 6         异常处理代码块
 7 '''
 8 
 9 
10 def division(x, y):
11     try:
12         return x / y
13     except (ZeroDivisionError, TypeError) as e:
14         print(e)
15 
16 
17 print(division(10, 2))
18 #     division by zero
19 #     None
20 print(division(10, 0))
21 print(division('a', 'b'))
22 print(division(6, 3))
23 '''
24 输出:
25     5.0
26     division by zero
27     None
28     unsupported operand type(s) for /: 'str' and 'str'
29     None
30     2.0
31 '''

 

 1 '''
 2 语法2:
 3     import sys
 4     import traceback
 5 
 6     try:
 7         # 可能引发异常的代码
 8     except:
 9         exc_type, exc_obj, exc_tb = sys.exc_info()
10         print("异常类型:", exc_type)
11         print("异常对象:", exc_obj)
12         print("追踪信息:")
13         traceback.print_tb(exc_tb)
14 
15 1. 使用sys.exc_info()函数
16     sys.exc_info()函数返回一个包含三个值的元组,分别是当前正在处理的异常的类型、异常对象和异常的追踪信息。
17     你可以使用这些值来获取关于异常的详细信息。
18 2. 使用traceback模块
19     traceback模块提供了一些函数来打印和操作异常追踪信息。
20     你可以使用traceback.print_exc()函数直接打印完整的异常信息,或使用traceback.format_exc()函数将异常信息格式化为字符串。
21 '''
22 import sys
23 import traceback
24 
25 def division(x, y):
26     try:
27         return x / y
28     except:
29         exc_type, exc_obj, exc_tb = sys.exc_info()
30         print("异常类型:", exc_type)
31         print("异常对象:", exc_obj)
32         print("追踪信息:")
33         traceback.print_tb(exc_tb)
34         exc_str = traceback.format_exc()
35         print(f"异常格式化信息:{exc_str}")
36 
37 
38 print(division(10, 0))
39 print(division('a', 'b'))
40 '''
41 输出:
42     异常类型: <class 'ZeroDivisionError'>
43     异常对象: division by zero
44     追踪信息:
45     异常格式化信息:Traceback (most recent call last):
46       File "F:\allen_class\python\base\base\037异常\异常06-使用Python内置的错误信息2.py", line 27, in division
47         return x / y
48                ~~^~~
49     ZeroDivisionError: division by zero
50     
51     None
52     异常类型: <class 'TypeError'>
53     异常对象: unsupported operand type(s) for /: 'str' and 'str'
54     追踪信息:
55     异常格式化信息:Traceback (most recent call last):
56       File "F:\allen_class\python\base\base\037异常\异常06-使用Python内置的错误信息2.py", line 27, in division
57         return x / y
58                ~~^~~
59     TypeError: unsupported operand type(s) for /: 'str' and 'str'
60     
61     None
62       File "F:\allen_class\python\base\base\037异常\异常06-使用Python内置的错误信息2.py", line 27, in division
63         return x / y
64                ~~^~~
65       File "F:\allen_class\python\base\base\037异常\异常06-使用Python内置的错误信息2.py", line 27, in division
66         return x / y
67                ~~^~~
68 '''

 

标签:division,内置,exc,Python,traceback,错误信息,base,print,异常
From: https://www.cnblogs.com/allenxx/p/17572992.html

相关文章

  • PowerShell命令卸载 Windows系统预装内置软件
    一、【核心命令】 Get-AppxPackage-AllUsers /*获取Win10以上系统(所有用户)预装软件*/ Get-AppxPackage-AllUsers{预装软件全名}|Remove-AppxPackage/*管道方式卸载Win10以上系统预装软件*/ Remove-App......
  • Python 预习提纲
    以下是Python的预习提纲的Markdown格式示例:Python预习提纲1.Python基础Python的历史与特点Python解释器与开发环境的安装Python开发工具与常用IDE2.数据类型与运算变量与赋值语句数字类型与基本运算字符串类型与常见操作列表、元组与字典的定义与操作3......
  • Python和Java的BASE64操作
    Python中的操作1.1相关链接Python编码解码---字符集/base641.2举例说明在Python中,base64.b64encode()方法用于对给定的字节数据进行Base64编码。该方法接受一个bytes-like对象(例如字节数组或字节字符串)作为输入,并返回一个Base64编码的字节字符串。使用base64.b64encode()......
  • Python学习——Day 8
    字典·字典   ·Python内置的数据结构之一,与列表一样是一个可变序列   ·以键值对的方式存储数据,字典是一个无序的序列·字典的实现原理   ·字典的实现原理与查字典类似,查字典是先根据部首或拼音查找对应的页码,Python中的字典是根据key查找value所在的位置......
  • python路径问题
    from和importfrommoduleimportfuna=fun()importmodulea=module.fun()两者在效果上是等价的,区别是第一种方式只引用了module中的fun函数,而第二种方式引用了整个module。frommoduleimport*a=fun()这种方式会让开发者导入module中的所有公有类,函数,......
  • python变量问题
    目录1.Delphi定义数组2.Python定义数组(1)列表(2)array.array(3)np.zeros3.Django框架定义数组(1)ArrayField(依赖于PostgreSQL数据库)(2)JSONField(支持PostgreSQL、MySQL、SQLite)(3)TextField(4)CharField+validators(5)列表,不定长​ 在编程中,数组是相同类型的元素的集合。数组在Java,C/C++,J......
  • Python全局变量和局部变量
    目录1.python的全局变量和局部变量第一种:global定义全局变量在自定义函数内部第二种:全局定义全局变量,并给其赋值2.python类中public,protected,private定义方式3.python中类的实例化1.python的全局变量和局部变量全局变量定义:在函数外部定义的变量。所有函数内部都可以使用......
  • Python基础day50
    RegExp对象//在JS中使用正则表达式,在js中如何使用正则呢?//定义正则表达式两种方式varreg1=newRegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");//第一种定义方式varreg2=/^[a-zA-Z][a-zA-Z0-9]{5,11}///第二种定义方式//正则校验数据varres=reg2.test('jason666......
  • win10+python3.8+Anaconda3+cuda10.2+cudnn7.6+pytorch安装教程
    版本问题很重要,为了这个版本,真的吐血版!!!其他链接1.cuda10.2+cudnn7.6安装和测试的方法2.彻底卸载Anaconda3.新建的虚拟环境总是在c盘怎么解决1.安装Anaconda3在Anaconda安装的过程中,比较容易出错的环节是环境变量的配置,所以大家在配置环境变量的时候,要细心一些①安装......
  • Spring Boot中内置Tomcat最大连接数、线程数与等待数 实践调优
    在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。Tomcat是Apache基金下的一个轻量级的Servlet容器,支持Servlet和JSP。Tomcat服务器本身具有Web服务器的功能,可以作为独立的Web服务器来使用。一、SpringBoot应用......