Python新手,Python中except的用法和作用是啥?请指教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python新手,Python中except的用法和作用是啥?请指教相关的知识,希望对你有一定的参考价值。

except是用来处理异常的。
完整举例说明:

try:
# 使用raise抛出异常
raise IndexError("下标越界")
except IndexError as e:
pass #这里可以恢复代码
except (TypeError, NameError):
pass # 很多别的异常可以在这里处理
else: # 可选,其他异常
blocks
print("All good!") # 没有异常情况
finally: # 无论如何都会执行的
print("这里执行所有的代码,无论是否有异常")
参考技术A except是用来处理异常的。完整举例说明:try:# 使用raise抛出异常raise IndexError("下标越界")except IndexError as e:pass #这里可以恢复代码except (TypeError, NameError):pass # 很多别的异常可以在这里处理else: # 可选,其他异常blocksprint("All good!") # 没有异常情况finally: # 无论如何都会执行的print("这里执行所有的代码,无论是否有异常")

python中try/except/else/finally的用法

格式:

  1. 完整的格式顺序是:try —> except X —> except —> else—> finally
  2. 如果 else 和 finally 都存在的话,else 必须在 finally 之前finally 必须在整个程序的最后
  3. else 的存在是以 except 或 except X 的存在为前提,如果没有 except,而在 try 中使用 else 的话,会出现语法错误。 
 1 try:
 2     Nomal execution block
 3 except A:
 4     Exception A handle
 5 except B:
 6     Exception B handle
 7 except:
 8     Other Exception handle
 9 else:
10     if no exception, get here
11 finally: 
12     print(finally)

 

说明:

  • try:正常执行的程序,如果执行过程中出现异常,则中断当前的程序执行,跳转到对应的异常处理模块中;
  • except:(可选)如果异常与A/B相匹配,则跳转到对应的except A/B中执行;如果A、B中没有相对应的异常,则跳转到except中执行。(这个except块是可选的,如果没有提供,则执行python默认的异常处理程序,即:中断执行,打印提示信息)
  • else:(可选)如果try中的程序执行过程中没有发生错误,则会继续执行else中的程序;
  • finally:无论是否发生异常,只要提供了finally程序,就在执行所有步骤之后执行finally中的程序。

总的来说:

正常执行的程序在try下面执行,在执行中如果发生了异常,则中断当前执行然后执行except中的部分,如果没有异常即不执行except的情况下,则会执行else中的语句,finally语句是最后无论是否有异常都要执行的代码。

 

以上是关于Python新手,Python中except的用法和作用是啥?请指教的主要内容,如果未能解决你的问题,请参考以下文章

python中try/except/else/finally的用法

python中常见错误及try-except 的用法

python中的 try...except...finally 的用法

python-try-except:pass的用法

python中raise的用法

新手学Python之学习官网教程(八:Errors and Exceptions)