|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 coward0720 于 2024-12-19 00:09 编辑
如题:
def checkbook(filenames):
try:
with open(filenames) as filename:
print(filename.read())
except FileExistsError:
print(f'文件不存在,请继续输入下一个~')
checkbook('cats.txt') # 文件并不存在
运行结果:
Traceback (most recent call last):
File "E:/GXY/pythonTest/练习专用/练习.py", line 663, in <module>
checkbook('catss.txt')
File "E:/GXY/pythonTest/练习专用/练习.py", line 657, in checkbook
with open(filenames) as filename:
FileNotFoundError: [Errno 2] No such file or directory: 'cats.txt'
我将except中的错误类型改为 FileNotFoundError后,程序成功运行,我的问题是,except的错误类型名称必须跟python判定的错误类型名称一致么?不能自己设定一个个性的错误名称么?
如果必须要一致,那我如何提前就知道错误类型呢,必须人为输入错误结果让程序报错然后才能知道错误类型名称么?
一般需要与Python判定的错误类型一致,或者设置 try...except Exception as e 比较宽泛的异常类,except Exception as e会捕获几乎所有的标准异常(除了系统退出之类的特殊异常)
- try:
- result = 10 / 0
- except Exception as e:
- print(f"发生了一个错误: {e}")
复制代码
|
|