在一个catch块中,如何获取引发异常的行号?
catch
如果您需要的不仅仅是从 Exception.StackTrace 获得的格式化堆栈跟踪的行号,您可以使用StackTrace类:
try { throw new Exception(); } catch (Exception ex) { // Get stack trace for the exception with source file information var st = new StackTrace(ex, true); // Get the top stack frame var frame = st.GetFrame(0); // Get the line number from the stack frame var line = frame.GetFileLineNumber(); }
请注意,这仅在有可用于程序集的 pdb 文件时才有效。