我有三层:
- 服务处理程序(与 ax2012 通信并将数据映射到实体)
- 服务(从 serviceHandlers 调用函数,如 getOrder 并返回它)
- Winform(或者可以是某人设计UI的任何内容,使用服务逻辑来执行此操作)。
我的问题是服务处理程序中的异常处理。我实现了我自己的异常可以EntityNotFound
,当调用getEntity函数并且找不到任何内容时,我抛出了该异常。当我抓住它时,我所做的就是再次扔掉它并在服务中抓住它。
我只使用语句 throw; .. 虽然我会再次将其扔回去,然后我将在 winform 层的 catch 语句中捕获。但是发生的情况是应用程序在服务层停止并说"EntityNotFoundException"未处理,这是OKAI,但我希望这种情况发生在wform层中。
希望这是可以理解的,所以..有什么建议吗?
首先,除非你添加一些值,如日志记录,或者添加服装消息,否则不要捕获和重新抛出异常。你可以试试...捕获 GUI 层中的异常以在那里适当地处理它。
其次,示例代码将帮助您调试问题。