當我寫這篇文章的代碼找到行發生錯誤爲什麼堆棧跟蹤幀不總是包含文件名和行號?
// Case 1
try
{
var error= Convert.ToInt32("fdafa");
}
catch(Exception ex)
{
StackTrace trace = new StackTrace(ex, true);
string fileName = trace.GetFrame(0).GetFileName();
int lineNo = trace.GetFrame(0).GetFileLineNumber();
}
// Case 2
try
{
throw new Exception();
}
catch(Exception ex)
{
StackTrace trace = new StackTrace(ex, true);
string fileName = trace.GetFrame(0).GetFileName();
int lineNo = trace.GetFrame(0).GetFileLineNumber();
}
它運行正常,當我拋出異常喜歡這個(從Case 2
)
throw new Exception();
但任何其他作弄象這樣的錯誤(從Case 1
)
var error= Convert.ToInt32("fdafa");
會拋出異常,我得到響應空從fileName
和0從lineNo
這兩種情況有什麼區別?
這是另一個不起作用的代碼? –
您能否讓您的問題標題更具體些? –
對不起,我沒有找到具體的標題,你可以給一些建議嗎? – altandogan