事情的起因是这样的,我们刚做的一个项目(C#做的,呵呵,还是习惯来Java区),客户用得很不满意,原因就是我们的系统经常down掉。这个系统里面除了数据库连接以外没怎么加try-catch,于是我们大领导要求我们加上异常处理,但是我总是觉得如果过多的使用try-catch的话,会影响到系统的performance。我简单的分析了一下,出问题的基本上都是数据库连接、转型和I/O的地方,另外就是我感觉我们小领导设计的系统架构有一些问题,但是不知道应该怎么改进,所以想请各位大虾说一说你们在开发过程中如何进行异常处理的,我总是觉得良好的编码比异常处理更为重要,还有就是我如何能说服我们领导规范异常处理

解决方案 »

  1.   

    其实就一句话: 有可能出异常的地方就要try catch
      

  2.   

    异常处理肯定是要有的亚,现在IDE一般也会有提示方法是否抛出异常,有抛出当然得处理。
      

  3.   

    想一想,这段代码可能出异常吗?
    如果有这种可能性,就加上try
      

  4.   

    加个异常捕获和处理,至少调试的时候不会找不到北。当然,为了程序的健壮,尽量在可能出异常的地方都加上try catch是必要的。
      

  5.   

    在没有抛出异常的时候,加入try catch不会对程序性能有多大影响,可以忽略不计。
    如果抛出异常的话,加不加try catch就不是性能那么简单了,所以还是要加try catch。
      

  6.   

    该catch的时候还是 catch他一下
      

  7.   

    凡是可能有异常发生的地方都要try catch 再throw 一层一层往上抛 每层都有各自的自定义Exception类 并且表示的信息各不相同 最后客户看到的是友好的易理解的画面 
      

  8.   

    我总是觉得良好的编码比异常处理更为重要
    -----------有句叫做“没有没有BUG的程序”,其主要意义其实就是让程序员有“人算不如天算”的意识。之所以会出现一些意想不到的问题,就因为它们是我们意想不到的。人的大脑毕竟有局限性,这是客观的自然。捕获异常的作用不只是体现在实际运行中,更重要的是,它在调试阶段对于发现问题和确定问题都十分重要。再好的设计也不可能说是面面俱到、巨细无遗。何况你现在的设计水平还不足以对原来的设计有个整体清晰的认识和改进意见。
      

  9.   

    异常捕获和处理是不可少的
    try catch
      

  10.   

    要抛出异常的地方才用try{}catch{}
    不要用try{}catch{}代替if判断,否则的话,会很影响性能的,不信楼主可以做一个简单的测试,来验证if和try{}catch{}的性能差异
      

  11.   

    切肤之痛呀,我上个项目也遇到这样的问题,虽然明确要求手下严格处理异常,但没办法一步一步的跟进代码,结果还是出现很多不理想的buglz,奉劝一句,不要想当然的将效率摆在首位。try...catch...并不会影响太大的效率,只有确实有Exception抛出了才需要堆栈处理,但这时的处理是必要的。其实现在的程序员多数都知道需要try...catch...,但catch后也只是print出来,不知道该怎么做。我记得我给我的员工示例代码,在catch后重新将Exception定义为我自己的Exception然后throw出去,他来了句这样写是很不规范的,应该打印。记住,try...catch...要尽可能的全,但这只是捕获异常,不等同于处理异常,主要的是catch后怎么办