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.py Entersomething-->WhydidyoudoanEOFonme? #Pressctrl+c $pythonexceptions_handle.py Entersomething-->^CYoucancelledtheoperation. $pythonexceptions_handle.py Entersomething-->Noexceptions YouenteredNoexceptions原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容