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;'部分。 –