2 回答

TA贡献1827条经验 获得超8个赞
对于您要完成的工作,方法中根本没有try catch块是否可以接受doPatientEncounterCreate?
这将允许您GetVoucherNumberAndApplyToDatabase方法中的try catch块捕获在中发生的任何异常doPatientEncounterCreate。
如果您需要在内部方法中使用try catch块,那么正如binDebug在注释中建议的那样,对我来说,在catch块中执行所需的操作然后重新抛出以使您的外部方法可以捕获它是有意义的。
为了弄清我所说的“重新抛出”是什么,这里是对一个示例的引用。并且,这是一个简短的代码段示例:
catch(Exception e)
{
// do something
throw;
}

TA贡献1821条经验 获得超4个赞
现在,您已经注释掉了特定的异常捕获,并且仅处理了通用的异常捕获(ALSO捕获了特定的异常捕获)。
现在,您无需再抛出异常,而仅返回有效的响应。
根据需要,您可以通过记录等方式将任何特定的异常作为子级中的适当逻辑链进行处理,然后重新抛出。请注意,有两种可用的重新抛出机制,“ throw”和“ throw ex”。在这里,您需要进行一次抛出,因为它将保留堆栈跟踪,而不会创建嵌套的内部异常。
另一种方法是不处理内部函数中的任何异常,而通常在管道级别上让更高级别的函数进行处理。理想情况下,应在发生时处理所有已知异常,而所有未知异常均应在全局顶级级别上进行一般处理
- 2 回答
- 0 关注
- 234 浏览
添加回答
举报