lsj8080 2013-06-03 13:55
浏览 457
已采纳

大家在做项目的时候对异常是怎么处理的

1、原样抛出还是不抛出?

2、原样抛出还是转化为自定义的异常?

3、如果有多个异常是放到一个try...catch块里面还是放在多个?

4、如果有异常,例如:SQLException是抛出SQLException还是抛出Exception?

5、怎样抛出异常才是更合理的呢?

  • 写回答

4条回答 默认 最新

  • zuoshang 2013-06-03 16:45
    关注

    第一条,抛还是不抛,取决于你现在处理还是暂时不处理。无论如何,出了异常掩盖掉总是不合适的吧 =,.=

    第二条,取决于你的异常的用途,说实话,自定义exception,对于非web软件,工具类(比如框架之类),用的更多而且更有用。因为抛出的异常是要给上层程序员调用时判断,因此自定义exception更清晰。而web系统的话,当然也可以自定义各种exception,但是你有一百种理由和设计去规避掉自定义exception,毕竟上层已经没有人会去调用你的action类API(当然不是指的框架本身~)

    第三点,能放到一起当然放到一起,分开放代码看起来反倒乱(其实try catch本身就是引起代码乱的祸首之一~~)

    第四点,还是看你需求,你上层如果要对SQLException做特殊处理,包括为了页面上显示不同的句子,那就该是什么就是什么

    第五点,包括上面4点但不仅限于~呵呵

    很多项目里都有自己一套独特的exception体系,有的只有一个XXXexception类,通过自定义的errorCode去区分不同的错误信息,仁者见仁,智者见智

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 ansys electronics 2021 R1安装报错,错误代码2,如图
  • ¥30 搭建面包板由NE555N和SN74LS90N组成的计时电路时出了问题
  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同