脚踏实地的大梦想家

脚踏实地的大梦想家

Python 异常处理

Python 中对于异常的处理主要通过 try-exceptfinallyraise 语句实现。

  1. try-except 语句:

尝试执行一段代码,如果该代码块引发了异常,那么将跳过 try 代码块中剩余的代码,转而执行相应的 except 子句。

try:  
    x = 1/0  
except ZeroDivisionError:  
    x = 0  
    print("除数为零")

然而更多时候我们并不直接得知发生异常的原因。所以更一般的,我们使用如下异常处理语句:

try:  
    x = 1 / 0  
except Exception:  
    print("发生了未知异常")

如果希望能将异常的问题打印出,我们使用如下异常处理语句:

import traceback
try:
	print(1/0)
except Exception as err:
	traceback.print_exc()
	print(err)
  1. final 语句:

无论是否发生异常,都会执行finally代码块中的代码。通常用于资源的清理操作,如关闭文件、释放资源等。

import traceback
try:  
    f = open("file.txt", "r")	# 尝试打开文件  
    data = f.read()  
except Exception as err:
	traceback.print_exc()  
    print(err)	# 文件未找到
finally:
    # 无论是否发生异常,都关闭文件  
    f.close()
  1. raise 语句:

手动抛出异常。可以指定要抛出的异常类型和异常信息。但是要谨慎使用手动抛出异常,因为会导致程序意外终止。

s = eval(input("请输入整数"))
token = "" if s % 3 == 0 or s % 5 == 0 else "不"
raise ValueError("输入参数不合法")
print("{}{}能被3或5整除".format(s, token))

第一版完成
2024/1/17
如有任何问题建议,请指针,谢谢!

01-17 10:43