这篇文章将为大家详细讲解有关Python中异常处理的方式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Python中的异常(Exception)处理

异常

当你的程序出现例外情况时就会发生异常(Exception)。例如,当你想要读取一个文件时,而那个文件却不存在,怎么办?又或者你在程序执行时不小心把它删除了,怎么办?这些通过使用异常来进行处理。

类似地,如果你的程序中出现了一些无效的语句该怎么办?Python 将会对此进行处理,举起(Raises)它的小手来告诉你哪里出现了一个错误(Error)。

错误

你可以想象一个简单的 print 函数调用。如果我们把 print 误拼成 Print 会怎样?你会注意到它的首字母是大写。在这一例子中,Python 会抛出(Raise)一个语法错误。

>>>Print("HelloWorld")Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'Print'isnotdefined>>>print("HelloWorld")HelloWorld

你会注意到一个NameError错误被抛出,同时 Python 还会打印出检测到的错误发生的位置。这就是一个错误错误处理器(Error Handler)2为这个错误所做的事情。

异常

我们将尝试(Try)去读取用户的输入内容。按下 [ctrl-d] 来看看会发生什么事情。

>>>s=input('Entersomething-->')Entersomething-->Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>EOFError

此处 Python 指出了一个称作EOFError的错误,代表着它发现了一个文件结尾(End of File)符号(由ctrl-d实现)在不该出现的时候出现了。

处理异常

我们可以通过使用 try..except 来处理异常状况。一般来说我们会把通常的语句放在 try 代码块中,将我们的错误处理器代码放置在 except 代码块中。

案例(保存文 exceptions_handle.py):

try:text=input('Entersomething-->')exceptEOFError:print('WhydidyoudoanEOFonme?')exceptKeyboardInterrupt:print('Youcancelledtheoperation.')else:print('Youentered{}'.format(text))

输出

#Pressctrl+d$pythonexceptions_handle.pyEntersomething-->WhydidyoudoanEOFonme?#Pressctrl+c$pythonexceptions_handle.pyEntersomething-->^CYoucancelledtheoperation.$pythonexceptions_handle.pyEntersomething-->NoexceptionsYouenteredNoexceptions

关于Python中异常处理的方式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。