在System.NullReferenceException中偶然第一次出现的"***.***.DLL"类型的异常,未将对象的引用设置到对象的实例。我知道这是某个地方空引用了。但是代码太多了,不知道具体出现在哪一行。
请问有什么办法全局捕捉一下这种空引用么?并准确定位。无法对可能出现的地方一个一个try..catch,因为可能的函数太多了。
貌似global.asax里的applacation_error函数无法捕获这种错误

解决方案 »

  1.   

    try catch下,到时候可以看到具体哪行出错
      

  2.   

    是你引用了没有实例化的对象
    没有被实例化的对象为NULL,是不能被操作的
    根据错误的提示,对具体的对象new一下
      

  3.   

    加try{}
    catch(Exception ex)
    {
     ex.StackTrace();//查看详细的错误信息}只要你自己单步调试一下,肯定就知道那个对像没有正确实例化了
      

  4.   

    asp.net 是能捕获到全局未处理异常的application 级别, 得到异常对象了, 找异常的调用堆栈就简单了.
      

  5.   

    Exception.Source 
    获取异常的源代码
      

  6.   

    谢谢各位,可是都没看清楚问题。
    回1,8楼,没有进入错误页面。
    回2.3.4.5.6.9楼
    函数太多根本就不知道是哪个地方出的错,如果能够确认是哪个函数,我就加try,catch了。只能确认是几十个timer中某个Timer回调函数出错了。可所有回调函数有几十个,挨个加try,catch工作量巨大。
    回7楼,global.asax中的application_Error()函数是application 级别吧。可是它没有捕获任何异常。
      

  7.   

    在出错操作前加个断点,运行到断点后 然后狂点F11 或者用F10 找到出错的过程,然后重新运行,进到出错的过程里面去F10
      

  8.   

    ASP.NET 2.0 Unhandled Exception Issues 
      

  9.   

    asp.net里用timer?估计是 HttpContext.Current 为 null
      

  10.   

    哎,感谢大家的回答,可是都不靠谱。
    http://www.cnblogs.com/eaglet/archive/2009/02/17/1392191.html
    这是我找到的解决方法,共享给有同样问题的朋友。
    再次谢谢各位的热心。
      

  11.   

    对了,最终找到的问题是问题函数中try,catch把问题捕获了,但没有在catch中处理或记录。导致在外围无法捕获,问题的出现。