c#报错信息 显示详细行号

catch (Exception ex)

{

//自定义异常

throw new Exception("出错啦!", ex);

}

为什么没有显示行号呢?

image

原因是,即使是在 RELEASE 模式下,如果你想报错的时候,想catch住你的详细报错信息定位到行号,那么你必须要

对应的dll的pdb文件

例如

image

这样你用log4net或者是catch抓住的报错信息,就可以显示详细的行号了

image

注意在捕获并抛出异常时应使用 throw new Exception("出错啦!", ex); 方式,则可获得异常的具体位置。

当在VS调试或者DEBUG模式下运行程序成都可获得异常发生的具体位置。

但当在独立运行的RELEASE模式下时,异常只会记录最初的调用位置。

当执行目录不包含 *.pdb 文件时,异常信息中不会包含代码及行号信息

原文地址:https://www.cnblogs.com/joeylee/p/3067355.html