试着回答问题
本文关键字:问题 | 更新日期: 2023-09-27 17:59:23
我在c#中执行此操作。这些是的代码层
VIEW->VIEWHANDLER->BusinessLayer->WCF服务
视图调用ViewHandler,ViewHandler调用调用服务的业务层。该服务将引发一些故障异常。所有异常都在视图处理程序中处理。业务层重新抛出它从服务中得到的故障异常,就像要在VIEWHANDLER中处理的那样。在BusinessLayer中重新思考它的最佳方式是什么?
catch(FaultException f)
{
throw f;
}
或
catch(FaultException f)
{
throw;
}
"throw f"是否重置捕获的异常中保存的调用堆栈信息?投掷会按原样发送吗?
是的,throw f;
将重置堆栈。
throw;
不会。
在任何一种情况下,如果这就是你在catch
块中所做的全部,那么你最好不要使用try-catch
块,因为这毫无意义。
是的,应该使用throw
而不是throw f
。如果在catch
语句中不执行任何操作,则可以省略catch
。