CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

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

楼主pxg76()2004-12-02 08:45:29 在 .NET技术 / ASP.NET 提问

我们在运行的时候如果程序有错,系统会报出黄页错误,其他信息都可以通过exception对象获取,但源错误却得不到,请问怎么样才能获取到如下面的:  
  “/ErrTest”应用程序中的服务器错误。  
  --------------------------------------------------------------------------------  
   
  试图除以零。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.DivideByZeroException:   试图除以零。  
   
  源错误:    
  行   59:   string     strss   =   null;  
  行   60:   int   i   =   Convert.ToInt32(strss);  
  行   61:   int   j   =   1/i;  
  行   62:    
  行   63:    
  就是代码的信息  
     
   
  问题点数:100、回复次数:25Top

1 楼SVG(ben)回复于 2004-12-02 08:50:11 得分 0

确保i不是0Top

2 楼SVG(ben)回复于 2004-12-02 08:52:03 得分 0

如果你只是想捕捉是什么样的exception   ,   可以catch   下   System.DivideByZeroException的:  
  catch(System.DivideByZeroException   ex)  
  {  
        //deal   the   ex's   message   here  
  }Top

3 楼xrascal(横刀夺爱)回复于 2004-12-02 08:55:14 得分 0

string     strss   =   null;  
  int   i   =   Convert.ToInt32(strss);  
  这样转换过来后    
  i   的值   =   0  
   
  学过数学的都知道。   0   不能作为除数Top

4 楼chenhaoying(风雨无阻)回复于 2004-12-02 08:55:40 得分 0

楼上的正解,用try_catch。Top

5 楼forideal(我心飞翔)回复于 2004-12-02 08:57:51 得分 0

在int   i   =   Convert.ToInt32(strss);后面直接用if来判断不也可以吗?!!Top

6 楼chnj1981(怡红公子)回复于 2004-12-02 08:59:15 得分 0

strss   =   null------------这里付了空值  
  int   i   =   Convert.ToInt32(strss);--------------这里得到的i也是空值。  
   
  是否忘了给strss   付值?Top

7 楼vzxq(灵感人)回复于 2004-12-02 08:59:19 得分 0

try   catchTop

8 楼jeffidea(程序诗人)回复于 2004-12-02 09:03:37 得分 0

解决这种问题就是真正的高手吗?鄙视楼主一下,同时对楼主标题提出强烈的抗议:  
  “一个关于错误提示的问题,真正的高手请进   ”  
  在CSDN上不就是互相学习么?不要搞歧视嘛!  
  呵呵,希望楼主不要生气,战友嘛!Top

9 楼conquersky(conquersky V)回复于 2004-12-02 09:06:17 得分 0

用try_catch      
   
  默认的转换后是0     不能当底Top

10 楼shoutor(www.mouxiao.com)回复于 2004-12-02 09:06:56 得分 0

0不能作为被除数,使用try   catch捕获异常Top

11 楼pxg76()回复于 2004-12-02 09:07:16 得分 0

那是我故意写错的,我现在在写一个错误处理程序,现在写到日志里的只有堆栈里的跟踪信息,我想将黄页里的错误源下的代码也写到日志里.兄弟们可能理解错了Top

12 楼wangxiaohu(如花)回复于 2004-12-02 09:15:59 得分 0

在catch里面输出Exception.StackTrace还不够用吗?Top

13 楼SVG(ben)回复于 2004-12-02 09:20:33 得分 0

那就  
  try  
  {  
  string     strss   =   null;  
  int   i   =   Convert.ToInt32(strss);  
  int   j   =   1/i;  
  }  
  catch(Exception   ex)  
  {  
  MessageBox.Show(ex.ToString()   +   ex.StackTrace);  
  }Top

14 楼SVG(ben)回复于 2004-12-02 09:25:22 得分 0

搞错了一点,   不好意思.  
  ex.ToString()   已经包括ex.Message   和ex.StackTrace  
  如果想捕捉到是哪行代码出错的.   则要保留编译调试文件:   *.pdbTop

15 楼pxg76()回复于 2004-12-02 09:34:19 得分 0

Exception.StackTrace里的信息不够,上面的兄弟可能没理解我的意思,在一个程序里尼是不可能全部知道错误发生在哪里,所以别说try   catch了那些我都知道,当程序发布出去之后,只根据Exception.StackTrace的信息是不够的,没办法确定错误的代码Top

16 楼SVG(ben)回复于 2004-12-02 09:38:10 得分 50

没办法确定错误的代码  
   
  //==>  
  如果想捕捉到是哪行代码出错的.   则要保留编译调试文件:   *.pdb  
   
  捕捉的Exception.ToString()   才包括错误代码位置信息的.Top

17 楼pxg76()回复于 2004-12-02 09:38:32 得分 0

to       jeffidea   这个问题不是高手还真不会知道,你连我说什么都没明白,我想你的水平也只是just   so   so了,这里是技术论坛不是学习论坛,学习是必要的,但简单的问题还是自己解决的好Top

18 楼warfen(学无止境)回复于 2004-12-02 09:40:09 得分 0

"string     strss   =   null;",这句声明为空,那么在转换成INT的时候默认的好象就是零。Top

19 楼pxg76()回复于 2004-12-02 09:41:25 得分 0

谢谢SVD(BEN)我现在跟踪server对象的时候只找到了源错误三个字,但微软的黄页是怎么将错误代码弄出来的呢?Top

20 楼warfen(学无止境)回复于 2004-12-02 09:44:14 得分 0

零不能做除数。  
  还有  
  string     strss   =   null;  
  int   i   =   Convert.ToInt32(strss);  
  int   j   =   1/i;  
  这三句话写的也有点问题,如果string   stress=null;的下一条语句没有改变stress的值,那么stress就永远为null,还不是如直接写个int   i=0;  
  Top

21 楼pxg76()回复于 2004-12-02 09:54:46 得分 0

warfen兄弟别说了,谢谢你,但你说的和我想问的不是一会事SVD(BEN)说的才对Top

22 楼leisang(仰望深邃的星空)回复于 2004-12-02 10:04:33 得分 0

这个还是要从底层着手....Top

23 楼lhs1727(李焕圣)回复于 2004-12-02 10:10:57 得分 0

用   try_catchTop

24 楼lwlxg()回复于 2004-12-02 10:11:54 得分 50

若要得到出错源码必须得到pdb文件,从pdb文件中找到错误代码的位置。若没有,建议换一种思路。等等Top

25 楼SVG(ben)回复于 2004-12-02 10:18:36 得分 0

虽然没了解你说的"软的黄页是怎么将错误代码"  
  但以对微软作风的了解.  
  应该是他们对异常作了点处理的,   比如自定义异常等,   并不是简单的try   catch   system.exception的.  
   
  建议你看看微软的application   block的exception   management   application   block  
  可能有你想要的东西  
   
  我还未看这个block,   只是了解过.  
  研究总结后欢迎交流交流  
  Top

相关问题

  • 错误提示!
  • 错误提示
  • 非常常见的错误提示!高手进来!
  • 进来看看错误提示,谁来分析一下原因
  • ie提示错误:缺少十六进制数字
  • SQL语句提示错误。
  • 解析错误提示!!
  • 出提示错误如下:
  • textpad + jdk 提示错误!
  • 错误提示,不明白..............

关键词

  • 代码
  • 文件
  • 转换
  • 学习
  • 信息
  • strss
  • 错误
  • toint32
  • stacktrace
  • 高手

得分解答快速导航

  • 帖主:pxg76
  • SVG
  • lwlxg

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo