当前位置:首页 » 编程语言 » python打印异常

python打印异常

发布时间: 2022-07-09 06:32:04

1. python 怎么打印异常

try:
#你认为会出异常的代码
exceptException,e:
#异常的堆栈信息
printe
#如果需要抛出异常
raisee

2. python try语句怎么打印异常行

你在except里面用except Exception as e 接受异常,然后把这个e打印出来看

3. python中的异常类的认识理解

9.8. 异常也是类
用户自定义异常也可以是类。利用这个机制可以创建可扩展的异常体系。
以下是两种新的,有效的(语义上的)异常抛出形式,使用 raise 语句:
raise Class
raise Instance
第一种形式中,Class 必须是 type 或其派生类的一个实例。第二种形式是以下形式的简写:
raise Class()
发生的异常其类型如果是 except 子句中列出的类,或者是其派生类,那么它们就是相符的(反过来说--发生的异常其类型如果是异常子句中列出的类的基类,它们就不相符)。例如,以下代码会按顺序打印 B,C,D:
class B(Exception):
pass
class C(B):
pass
class D(C):
pass
for cls in [B, C, D]:
try:
raise cls()
except D:
print("D")
except C:
print("C")
except B:
print("B")
要注意的是如果异常子句的顺序颠倒过来( execpt B 在最前),它就会打印 B,B,B--第一个匹配的异常被触发。
打印一个异常类的错误信息时,先打印类名,然后是一个空格、一个冒号,然后使用内置函数 str() 将类转换得到的完整字符串。

4. Python异常处理知识点汇总,五分钟就能学会

什么是异常?

1.错误

从软件方面来说,错误是语法或是逻辑上的。错误是语法或是逻辑上的。

语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译。这些些错误必须在程序执行前纠正。

当程序的语法正确后,剩下的就是逻辑错误了。逻辑错误可能是由于不完整或是不合法的输入所致;

在其它情况下,还可能是逻辑无法生成、计算、或是输出结果需要的过程无法执行。这些错误通常分别被称为域错误和范围错误。

当python检测到一个错误时,python解释器就会指出当前流已经无法继续执行下去。这时候就出现了异常。

2.异常

对异常的最好描述是:它是因为程序出现了错误而在正常控制流以外采取的行为。

这个行为又分为两个阶段:首先是引起异常发生的错误,然后是检测(和采取可能的措施)阶段。

第一阶段是在发生了一个异常条件(有时候也叫做例外的条件)后发生的。

只要检测到错误并且意识到异常条件,解释器就会发生一个异常。引发也可以叫做触发,抛出或者生成。解释器通过它通知当前控制流有错误发生。

python也允许程序员自己引发异常。无论是python解释器还是程序员引发的,异常就是错误发生的信号。

当前流将被打断,用来处理这个错误并采取相应的操作。这就是第二阶段。

对于异常的处理发生在第二阶段,异常引发后,可以调用很多不同的操作。

可以是忽略错误(记录错误但不采取任何措施,采取补救措施后终止程序。)或是减轻问题的影响后设法继续执行程序。

所有的这些操作都代表一种继续,或是控制的分支。关键是程序员在错误发生时可以指示程序如何执行。

python用异常对象(exception object)来表示异常。遇到错误后,会引发异常。

如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(traceback)终止执行

异常处理

捕捉异常可以使用try/except语句。

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

如果你不想在异常发生时结束你的程序,只需在try里捕获它。

语法:

以下为简单的try....except...else的语法:

Try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。

如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。

如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

使用except而不带任何异常类型

可以不带任何异常类型使用except,如下实例:

以上方式try-except语句捕获所有发生的异常。但这不是一个很好的方式,我们不能通过该程序识别出具体的异常信息。因为它捕获所有的异常。

5. 小白求python 为啥打印不出来

你用raw_input要自己输入,但是你按了CTRL+C,自然会抛出个异常。

6. python3.5怎么输出异常的信息

try:
...
except Exception as e:
...

7. python中异常处理的使用方法

8.3. 异常处理
通过编程处理选择的异常是可行的。看一下下面的例子:它会一直要求用户输入,直到输入一个合法的整数为止,但允许用户中断这个程序(使用 Control-C 或系统支持的任何方法)。注意:用户产生的中断会引发一个 KeyboardInterrupt 异常。
>>> while True:
... try:
... x = int(input("Please enter a number: "))
... break
... except ValueError:
... print("Oops! That was no valid number. Try again...")
...
try 语句按如下方式工作。
首先,执行 try 子句 (在 try 和 except 关键字之间的部分)。
如果没有异常发生, except 子句 在 try 语句执行完毕后就被忽略了。
如果在 try 子句执行过程中发生了异常,那么该子句其余的部分就会被忽略。
如果异常匹配于 except 关键字后面指定的异常类型,就执行对应的except子句。然后继续执行 try 语句之后的代码。
如果发生了一个异常,在 except 子句中没有与之匹配的分支,它就会传递到上一级 try 语句中。
如果最终仍找不到对应的处理语句,它就成为一个 未处理异常,终止程序运行,显示提示信息。
一个 try 语句可能包含多个 except 子句,分别指定处理不同的异常。至多只会有一个分支被执行。异常处理程序只会处理对应的 try 子句中发生的异常,在同一个 try 语句中,其他子句中发生的异常则不做处理。一个 except 子句可以在括号中列出多个异常的名字,例如:
... except (RuntimeError, TypeError, NameError):
... pass
最后一个 except 子句可以省略异常名称,以作为通配符使用。你需要慎用此法,因为它会轻易隐藏一个实际的程序错误!可以使用这种方法打印一条错误信息,然后重新抛出异常(允许调用者处理这个异常):

8. python raise触发异常为什么没有打印错误

题主你好,

先说结果吧: 题主的代码没有问题, StopIteration异常也被抛出了.

下面说一下for循环从迭代器取值的逻辑题主应该就明白了:

正常情况下, for从迭代器中取值时, 在将迭代器中的元素消耗尽了以后, 迭代器都会抛出一个StopIteration异常给for语句, for语句检测到StopIteration异常后就知道迭代器不会再返回内容了, 也就将for循环给结束掉了, 也就是说StopIteration是被for循环内部消耗掉了, 你可以这样理解:

上面代码的执行过程是这样的:

将[1,2,3]中的1赋给x,输出1;

将[1,2,3]中的2赋给x,输出2;

将[1,2,3]国的3赋给x,输出3;

抛出StopIteration异常, for检测到StopIteration异常,结束for循环;

-------------

明白了上面的逻辑后, 题主也可以验证一下, 题主可以将if语句给注释掉, 然后执行一下, 看看输出结果.

希望可以帮到题主, 欢迎追问.

有错误也请指出, 谢谢!

9. 在使用python(2.6.1)在输出如下代码时,出现了异常现象(输出显示的数据不正确),经多次测试都不得其原因

里面有一个\r(000D)符,回车了,搅乱了字符。把000D换成000A就行了

10. python初学者Traceback (most recent call last):

1、打开Python开发工具IDLE,新建‘myexcept.py’文件,并写代码如下:

classmyException(Exception):

def__init__(self,error):

self.error=error

def__str__(self,*args,**kwargs):

returnself.error

这就是自定义定义的异常类,继承自Exception父类,有error字段,__str__函数的作用是打印对象时候,显示的字符串。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726