catch
(Exception ex)
{
//自定义异常
throw
new
Exception(
"出错啦!"
, ex);
}
为什么没有显示行号呢?
原因是,即使是在 RELEASE 模式下,如果你想报错的时候,想catch住你的详细报错信息定位到行号,那么你必须要
对应的dll的pdb文件
例如
这样你用log4net或者是catch抓住的报错信息,就可以显示详细的行号了
注意在捕获并抛出异常时应使用 throw new Exception("出错啦!", ex); 方式,则可获得异常的具体位置。
当在VS调试或者DEBUG模式下运行程序成都可获得异常发生的具体位置。
但当在独立运行的RELEASE模式下时,异常只会记录最初的调用位置。
当执行目录不包含 *.pdb 文件时,异常信息中不会包含代码及行号信息。