这种啊,我觉得不是异常的问题,是错误的处理哦。我们是通过定义错误代号,错误描述来搞得。就是仿照win api的那样。

解决方案 »

  1.   

    我们的方法是将数据库和java的异常原样的抛出来数据库的异常代码SQLCODE和SQLERRM通过存储过程raise出来
    java的异常统一封装成ApplicationException throw出来
      

  2.   

    我覺得應該分兩步了.先把異常拋出來,告訴用戶,產生異常,同時把異常信息寫進log文件,供系統管理員查看異常.找出問題所在.
    只是想法,大家多批評.
      

  3.   

    继续继续,那些大师把业务异常类继承runtingException,我不知道怎么做的好处是什么
      

  4.   

    我觉得你们有些问题是不是没有分清楚异常和非法数据'xxIsNotExistException的业务异常'诸如此类是很吓人的。因为这明显是ApplicationException
    而不是单独区分的异常。
    应该用一个id(以及描述)来区分,而不是加无穷无尽的异常。至于继承runtime exception,我只能说他们显然是为了避免接口的改变。这种...的确是大师手笔,我很同情你...以及将来维护你们系统的人..
    一个糟糕的聪明人往往会连累N多人PS:我们只会出2种异常,SystemException和ApplicationException,SystemExcepetion会写log,ApplicationException框架自动捕获并会在页面显示信息。
      

  5.   

    设计异常类库主要是要把系统中的异常分类,理清层次。异常对于跟踪错误和调试很有帮助,但是影响效率。对用户没什么用。要报告错误给用户最好是用1楼的设计错误码方法,而不是异常。这也是一直以来各系统的处理方式。有时候想在异常出现时继续运行,你要写很多throw , try...catch...finally,程序就很难维护。
    但是错误机制就不需要,只是用if...elseJava 理论与实践: 关于异常的争论
    http://www-900.ibm.com/developerWorks/cn/java/j-jtp05254/index.shtml