一个关于错误提示的问题,真正的高手请进

pxg76 2004-12-02 08:45:29
我们在运行的时候如果程序有错,系统会报出黄页错误,其他信息都可以通过exception对象获取,但源错误却得不到,请问怎么样才能获取到如下面的:
“/ErrTest”应用程序中的服务器错误。
--------------------------------------------------------------------------------

试图除以零。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.DivideByZeroException: 试图除以零。

源错误:
行 59: string strss = null;
行 60: int i = Convert.ToInt32(strss);
行 61: int j = 1/i;
行 62:
行 63:
就是代码的信息


...全文
206 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
SVG 2004-12-02
  • 打赏
  • 举报
回复
虽然没了解你说的"软的黄页是怎么将错误代码"
但以对微软作风的了解.
应该是他们对异常作了点处理的, 比如自定义异常等, 并不是简单的try catch system.exception的.

建议你看看微软的application block的exception management application block
可能有你想要的东西

我还未看这个block, 只是了解过.
研究总结后欢迎交流交流
lwlxg 2004-12-02
  • 打赏
  • 举报
回复
若要得到出错源码必须得到pdb文件,从pdb文件中找到错误代码的位置。若没有,建议换一种思路。等等
lhs1727 2004-12-02
  • 打赏
  • 举报
回复
用 try_catch
leisang 2004-12-02
  • 打赏
  • 举报
回复
这个还是要从底层着手....
pxg76 2004-12-02
  • 打赏
  • 举报
回复
warfen兄弟别说了,谢谢你,但你说的和我想问的不是一会事SVD(BEN)说的才对
warfen 2004-12-02
  • 打赏
  • 举报
回复
零不能做除数。
还有
string strss = null;
int i = Convert.ToInt32(strss);
int j = 1/i;
这三句话写的也有点问题,如果string stress=null;的下一条语句没有改变stress的值,那么stress就永远为null,还不是如直接写个int i=0;
pxg76 2004-12-02
  • 打赏
  • 举报
回复
谢谢SVD(BEN)我现在跟踪server对象的时候只找到了源错误三个字,但微软的黄页是怎么将错误代码弄出来的呢?
warfen 2004-12-02
  • 打赏
  • 举报
回复
"string strss = null;",这句声明为空,那么在转换成INT的时候默认的好象就是零。
pxg76 2004-12-02
  • 打赏
  • 举报
回复
to jeffidea 这个问题不是高手还真不会知道,你连我说什么都没明白,我想你的水平也只是just so so了,这里是技术论坛不是学习论坛,学习是必要的,但简单的问题还是自己解决的好
SVG 2004-12-02
  • 打赏
  • 举报
回复
没办法确定错误的代码

//==>
如果想捕捉到是哪行代码出错的. 则要保留编译调试文件: *.pdb

捕捉的Exception.ToString() 才包括错误代码位置信息的.
pxg76 2004-12-02
  • 打赏
  • 举报
回复
Exception.StackTrace里的信息不够,上面的兄弟可能没理解我的意思,在一个程序里尼是不可能全部知道错误发生在哪里,所以别说try catch了那些我都知道,当程序发布出去之后,只根据Exception.StackTrace的信息是不够的,没办法确定错误的代码
SVG 2004-12-02
  • 打赏
  • 举报
回复
搞错了一点, 不好意思.
ex.ToString() 已经包括ex.Message 和ex.StackTrace
如果想捕捉到是哪行代码出错的. 则要保留编译调试文件: *.pdb
SVG 2004-12-02
  • 打赏
  • 举报
回复
那就
try
{
string strss = null;
int i = Convert.ToInt32(strss);
int j = 1/i;
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString() + ex.StackTrace);
}
wangxiaohu 2004-12-02
  • 打赏
  • 举报
回复
在catch里面输出Exception.StackTrace还不够用吗?
pxg76 2004-12-02
  • 打赏
  • 举报
回复
那是我故意写错的,我现在在写一个错误处理程序,现在写到日志里的只有堆栈里的跟踪信息,我想将黄页里的错误源下的代码也写到日志里.兄弟们可能理解错了
shoutor 2004-12-02
  • 打赏
  • 举报
回复
0不能作为被除数,使用try catch捕获异常
conquersky 2004-12-02
  • 打赏
  • 举报
回复
用try_catch

默认的转换后是0 不能当底
jeffidea 2004-12-02
  • 打赏
  • 举报
回复
解决这种问题就是真正的高手吗?鄙视楼主一下,同时对楼主标题提出强烈的抗议:
“一个关于错误提示的问题,真正的高手请进 ”
在CSDN上不就是互相学习么?不要搞歧视嘛!
呵呵,希望楼主不要生气,战友嘛!
vzxq 2004-12-02
  • 打赏
  • 举报
回复
try catch
chnj1981 2004-12-02
  • 打赏
  • 举报
回复
strss = null------------这里付了空值
int i = Convert.ToInt32(strss);--------------这里得到的i也是空值。

是否忘了给strss 付值?
加载更多回复(5)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧