0
我正在使用一个Windows服务,我想在我的根方法中捕获所有内部异常。 在我的一个内部方法中,我使用了如下所示的try/catch块。发生错误时,该服务不会将错误消息返回给我的根方法。相反,它只是抛出一个错误,并停止在我的内部方法。如何捕获根方法中的所有内部异常?
如何将错误消息返回到我的根方法?
try
{
loadAdapterProperties(ref strAssemblyName, ref strTypeName, ref statusXML,
strAssignedTask, ref lastAdapter, ref entityTypeCode, ref adminID);
if (strAssemblyName == "" || strTypeName == "")
{
LogWriter.WriteTimedMessage("No adapters currently available, {0}",
strAssignedTask);
loopCondition = false;
break;
}
objHandle = Activator.CreateInstance(strAssemblyName, strTypeName);
objAdapter = (BaseGatesAdapter)objHandle.Unwrap();
objAdapter.Load(strAssignedTask, statusXML, entityTypeCode, adminID);
objAdapter.Execute();
LogWriter.WriteTimedMessage("Executed {0}", strAssemblyName);
if (lastAdapter == true)
loopCondition = false;
}
catch (System.Exception e)
{
loopCondition = false;
LogWriter.WriteTimedMessage("FAILED to execute {0}",strAssemblyName);
throw;
}
你是什么意思的根方法和内部方法?代码是否超过根方法?内部方法是否是objAdapter.Execute()方法? 'objAdapter.Execute()'做了什么? –
目前还不清楚你的意思,因为你的代码我明白try-catch块是在一个循环内('while'),但是如果你重新抛出异常,你的循环将会中断,所以只需评论'throw;'部分。 –