Python 在类方法中引发异常
我有一个类,检查文件是否存在,如果文件存在,则创建一个文件对象 如果文件不存在或存在权限问题,else将捕获异常Python 在类方法中引发异常,python,class,exception,Python,Class,Exception,我有一个类,检查文件是否存在,如果文件存在,则创建一个文件对象 如果文件不存在或存在权限问题,else将捕获异常 import os import sys import pandas import yaml class FileChange(): def __init__(self, file_name='manifile.yml'): ''' to create a factfile object '''
import os
import sys
import pandas
import yaml
class FileChange():
def __init__(self, file_name='manifile.yml'):
''' to create a factfile object '''
self.file_name = file_name
self.checkfile()
def checkfile(self):
'''to check if the factfile exists or not '''
try:
with open(self.file_name, 'r') as yml_file:
self.yml_dict = yaml.safe_load(yml_file)
except (IOError,FileNotFoundError):
print('Unable to open file or File does not exist')
if __name__ == "__main__":
if len(sys.argv) == 1:
print("Run the script with the YML fact file name you would like to edit")
elif len(sys.argv) > 1:
FILE_NAME = sys.argv[1]
print(FILE_NAME)
F = FileChange(FILE_NAME)
我想使用这个类创建一个类对象,如果文件不存在,则捕获/处理对象中抛出的异常
我以两种方式使用它。1.通过创建一个对象 从文件更改导入* F=FileChange('dummyfile.yml'),其中dummyfile不存在,因此它应该向我显示消息并退出
如果我正确理解了您的问题,您希望添加一个受控的自定义异常。 如果这是正确的,那么此代码将适用于您 代码: 然后用不正确的文件调用它
如果它不是定制的,那么只需提出(选择一个错误)我发现很难说出您所说的“我想使用这个类创建一个类对象,并捕获/处理对象中抛出的异常(如果文件不存在)。”。您要更正的当前代码中有哪些不适用?你的最终目标是什么?我刚刚更新了代码和使用场景。让我向你学习,成为一名更好的程序员。你的意见将很有帮助。
class IncorrectFile(Exception):
pass