Skip to content

Latest commit

 

History

History
126 lines (78 loc) · 2.77 KB

File metadata and controls

126 lines (78 loc) · 2.77 KB

第17节 异常处理

❤️💕💕python是一种动态的解释形语言,由于python的普遍性,学会python能更快的解决问题,以及学习其他的知识。Myblog:http:https://nsddd.top


[TOC]

异常

python的异常和Java类似


  • try块允许您测试代码块的错误。

  • except块允许您处理错误。

  • else块允许您在没有错误时执行代码。

  • finally块允许您执行代码,而不管 try- 和 except 块的结果如何。

未定义notX,但是使用它

In [134]: try:
     ...:     print(notX)
     ...: except:
     ...:     print("抱歉,你没有定义notX,你没有办法使用它")
     ...:
抱歉你没有定义notX你没有办法使用它

由于 try 块引发错误,因此将执行 except 块。

如果没有 try 块,程序将崩溃并引发错误

else如果没有引发错误,您可以使用关键字定义要执行的代码块:

In [135]: try:   
     ...:   print("Hello")  # 没有发生错误
     ...: except:
     ...:   print("Something went wrong")
     ...: else:
     ...:   print("Nothing went wrong")
     ...:
Hello
Nothing went wrong

In [136]: try:
     ...:   print(notX)  # 发生错误了
     ...: except:
     ...:   print("Something went wrong")
     ...: else:
     ...:   print("Nothing went wrong")
     ...:
Something went wrong

如果指定了该finally块,则无论 try 块是否引发错误,都将执行该块。

In [138]: try:
     ...:   print("aa")
     ...: except:
     ...:   print("Something went wrong")
     ...: finally:
     ...:   print("The 'try except' is finished")
     ...:
aa
The 'try except' is finished

In [139]: try:
     ...:   print(notX)
     ...: except:
     ...:   print("Something went wrong")
     ...: finally:
     ...:   print("The 'try except' is finished")
     ...:
Something went wrong
The 'try except' is finished

抛出异常

要抛出(或引发)异常,请使用raise关键字。

如果 x 小于 0,则引发错误并停止程序:

x = -1
if x < 0:
 raise Exception("Sorry, no numbers below zero")

END 链接