bluedesign 2008-06-19 20:58
浏览 162
已采纳

java该怎么样处理异常

在网上查了好多关于异常处理的例子,也看了不少关于异常处理规范,但是还是不怎么清楚java异常处理到底怎么做才算好.希望高手给个详细的例子说明 异常 在实际 开发中该怎么处理
1:说什么时候我们应该把异常重新抛出,为什么要重新抛出
2:发生异常后,除了释放资源,日志记录操作后,我们怎么样来给用户或客户出示一个清晰的提示
:arrow:

  • 写回答

4条回答 默认 最新

  • iteye_17263 2008-06-21 14:57
    关注

    一、发生异常时,应该给用户一个明确的提示,告诉用户错误原因,应该如何操作。

    从用户角度考虑,我把异常分为以下几种:
    1、用户异常: 相当于业务异常,如用户输入密码错误,则throw new BussinessException("密码输入错误,请重试");
    2、代码异常:如程序员疏忽,导致代码抛出NullException。这类异常对于用户来说,没办法作出回应。用户只能找管理员解决这个问题。所以这类异常可以定义为:"您的操作服务器无法响应,请联系管理员";
    3、其他的可以为外界环境导致的异常,如数据库无法连接等,这类异常对于用户来说一样没办法。

    二、异常框架的搭建提以下几点:
    1、捕获底层异常,转为自定义的异常。如SQLException,由DAO捕获,并且抛出DaoException。这里的SQLException为底层异常
    2、自定义异常一般继承RuntimeException,这样无需再接口上声明。
    3、出现底层异常立即捕获,自定义异常让后台最上层代码处理。如web应用可以由action的基类或者filter统一处理异常,抛给用户。
    4、业务异常可以命名的更有意义,如UserNotFoundException。我比较偷懒,一般直接抛出BussinessException

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

报告相同问题?

悬赏问题

  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link