Asp.net 正在本地和主机中检索异常详细信息
我有一个函数,它获取异常(ex)并检索它的详细信息,然后将它们保存到数据库中Asp.net 正在本地和主机中检索异常详细信息,asp.net,exception-handling,Asp.net,Exception Handling,我有一个函数,它获取异常(ex)并检索它的详细信息,然后将它们保存到数据库中 public static void NewLog(Exception ex, HowToLog option) { // retrive details of exception System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true); s
public static void NewLog(Exception ex, HowToLog option)
{
// retrive details of exception
System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, true);
string PageName = trace.GetFrame(trace.FrameCount - 1).GetFileName();
PageName = PageName.Substring(PageName.LastIndexOf("\\") + 1);
....
}
这在本地但在主机上工作,当发生错误时,此函数尝试将其保存到DB中,以下代码中出现异常“对象引用未设置为对象”:
PageName = PageName.Substring(PageName.LastIndexOf("\\") + 1);
看起来PageName是空的。那么为什么PageName是空的呢?您需要提供一些代码来显示它的来源。如果您什么都不给我们看,您希望我们如何提供帮助?它很可能在本地工作,因为您有.pdb文件,因此运行时可以查找符号并找到文件名。StackFrame.GetFileName的文档说明,“如果无法确定文件名”,它将返回null。pagename可能为null,或者子字符串获取的值不正确,例如找不到\\符号