我想在WCF服務中獲得完整的異常詳細信息,但是,我沒有收到發生異常的行號。WCF故障異常行號
try
{
...
}
catch (Exception e)
{
throw new FaultException(e.ToString());
}
我試過各種方式,如返回e.StackTrace
等沒有運氣。請幫助我如何獲得發生異常的行號。
我想在WCF服務中獲得完整的異常詳細信息,但是,我沒有收到發生異常的行號。WCF故障異常行號
try
{
...
}
catch (Exception e)
{
throw new FaultException(e.ToString());
}
我試過各種方式,如返回e.StackTrace
等沒有運氣。請幫助我如何獲得發生異常的行號。
用途:
catch (Exception e)
{
// Get stack trace for the exception with source file information
var st = new StackTrace(e, true);
// Get the top stack frame
var frame = st.GetFrame(0);
// Get the line number from the stack frame
var line = frame.GetFileLineNumber();
}
它會給你你需要的信息。
此代碼將使堆棧跟蹤行號
try
{
///...
}
catch (Exception e)
{
throw new FaultException<Exception>(ex, ex.Message);
}
我試過這個,但我得到這個'現有連接被遠程主機強行關閉' – SiD
我會說你必須刪除整個try
catch
塊:
一個更好的方法將只是註釋掉它:
//try
//{
Code.DoSomething(); //of course this code line is only a example and not working
/*the code inside the try block should now stop on the line, where the error appears*/
// might look like this: http://www.homeandlearn.co.uk/csharp/images/conditional_logic/Error_Parse.gif
//}
//catch (Exception e)
//{
//throw new FaultException(e.ToString());
//}
你應該得到的東西像這樣的:我在咕發現(只圖像gle根據這個)
我已經試過了。它沒有給出行號。它只給出像'試圖除以零的信息。' – SiD
好吧,它已被編輯。 –