我正在创建一个 3 层应用程序,但在处理错误处理时遇到了问题。我不知道是否应该抛出异常或调用方法将问题传达给其他层。
这是一个简单的例子,我有:
- 一个FileChooserFrame
(演示层),允许用户在列表中选择一个文件。
- 一个DataHandler
(应用层),它对文件的路径做一些事情,并在演示层和数据层之间建立链接。
-FileParser
解析文件并从中获取数据的(数据层)。
现在假设文件必须遵循特殊结构,如果不是,我想显示一个 MessageBox。
我无法知道用户在解析之前是否选择了一个好的文件。
我的问题是,当我看到文件不符合结构时我该怎么办?
我想到了两件事:
1 - 停止当前操作并调用DataHandler
(例如NotifyWrongFileErr()
)中的一个方法,该方法将要求框架显示消息框。
2 - 抛出一个自定义异常,我在FileChooserFrame
其中将显示弹出窗口。
这两种情况都有其优点/缺点,所以我无法在它们之间做出选择。最合适的做法是什么?
PS:在第 2 种情况下,我在哪里编写 Exception 类?在专用于应用程序异常的文件中,还是在抛出它的类旁边?