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

问题描述

1、原样抛出还是不抛出?2、原样抛出还是转化为自定义的异常?3、如果有多个异常是放到一个try...catch块里面还是放在多个?4、如果有异常,例如:SQLException是抛出SQLException还是抛出Exception?5、怎样抛出异常才是更合理的呢?

解决方案

第一条,抛还是不抛,取决于你现在处理还是暂时不处理。无论如何,出了异常掩盖掉总是不合适的吧 =,.=第二条,取决于你的异常的用途,说实话,自定义exception,对于非web软件,工具类(比如框架之类),用的更多而且更有用。因为抛出的异常是要给上层程序员调用时判断,因此自定义exception更清晰。而web系统的话,当然也可以自定义各种exception,但是你有一百种理由和设计去规避掉自定义exception,毕竟上层已经没有人会去调用你的action类API(当然不是指的框架本身~)第三点,能放到一起当然放到一起,分开放代码看起来反倒乱(其实try catch本身就是引起代码乱的祸首之一~~)第四点,还是看你需求,你上层如果要对SQLException做特殊处理,包括为了页面上显示不同的句子,那就该是什么就是什么第五点,包括上面4点但不仅限于~呵呵很多项目里都有自己一套独特的exception体系,有的只有一个XXXexception类,通过自定义的errorCode去区分不同的错误信息,仁者见仁,智者见智
解决方案二:
1、原样抛出还是不抛出? 看是DAO层还是Service层抛出的,如果是DAO层抛出的你在Service层捕获的话最好把异常信息转化成相应的业务描述的异常。2、原样抛出还是转化为自定义的异常? 目前的项目是自定义了一个通用的业务异常,方便国际化和记录日志。3、如果有多个异常是放到一个try...catch块里面还是放在多个? 看实际情况啊4、如果有异常,例如:SQLException是抛出SQLException还是抛出Exception?如果是DAO层还是被另外一个DAO调用的话SQLException还是可以的,如果是你的上一抽象层中捕获这种异常则需要转化成当前抽象层中可以理解的异常。 5、怎样抛出异常才是更合理的呢?如楼上一位老兄建议,参考effective java的关于异常的处理方式。不管怎么处理吧,异常最终记录日志那是必须的,不管你是在哪一层记录,还是几层都记录。另外,自定义异常我一般都是运行时异常,那种强制别人需要处理的异常很少用,因为,一般情况下,抛出异常了,调用者还可以恢复操作的可能性很小。
解决方案三:
直接往上抛,,,(记录日志)。。到action处理异常,返回结果到页面提示“系统繁忙”。、。
解决方案四:
建议参考 effective java的关于异常的处理方式。

时间: 2024-08-07 13:14:05

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

ssh整合-使用spring3.X+Hibernate4.X来做项目,报异常 No Session found for current thread

问题描述 使用spring3.X+Hibernate4.X来做项目,报异常 No Session found for current thread org.hibernate.HibernateException: No Session found for current thread at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:97) at

荣超:SEOER你选择继续服务还是做项目

之前看过红涛写的如果SEO团队转形还会考虑接单吗 还是很有感触的.确实,随着国内SEO培训的越来越多,SEO变得越来越普及,只要自已认真学一到三个月你也可以成为一个SEOER,然后正是如此多的SEOER打破了SEO市场的平静,让SEO服务变得更加廉价,同时百度的技术越来越让人琢磨不透,自已SEO越来越变得困难起来. 之前我在和一个朋友聊天的时候他问了我一句:你自已帮别人做SEO,为什么自已不做SEO?确实,我一直都是在帮别人做优化,在帮别人做服务,自已从来没有服务过自已,也是由于荣超一直是单干,

做项目时使用JSON.parse遇到的问题

今天做项目的时候,使用JSON.parse转换字符串成json数据的时候遇到了一个问题, 举例如下: 1 var jsonStr = '{"sex":"男","info":"我\\是好人"}'; 2 JSON.parse(jsonStr); 运行结果如下:   jsonStr里有两个反斜杠存在,JSON.parse在执行的时候则报错了,我们用eval来执行自然是不会报错的,运行结果如下: 我们再来看一下下面这三行代码: 1 v

android studio运行项目时出现这个异常怎么解决??

问题描述 android studio运行项目时出现这个异常怎么解决?? 解决方案 android studio检查严格了,你的有张图片后缀名是png的但是你图片格式不是png的,你把它找出来改后缀名就行了,看他格式可以在as里打开图片,右上角会显示图片的真实格式,与后缀名不符的都改了 解决方案二: 问题:在运行android的项目时出现的异常 The connection to adb is down, and a severe error has occured. [2010-03-11 0

安卓 网络-啊,跪求啊,第一次跟老师做项目,帮我看一下哪出错了呗,求求各位了,很短的代码

问题描述 啊,跪求啊,第一次跟老师做项目,帮我看一下哪出错了呗,求求各位了,很短的代码 咋回事啊,没反应呢,我本来是做上网站读取数据并解析代码,然后传回手机显示的,但是实现不了,我就先试试到底能不能链接到服务器,发现失败了,怎么回事啊 解决方案 http://www.cnblogs.com/freeliver54/archive/2011/12/28/2304836.html 解决方案二: 哪里有错?可以考虑调试一下 解决方案三: 把错误贴出来吧,代码貌似没问题 解决方案四: 连接百度,,不好搞

vs2010的团队做项目怎么办?

问题描述 刚使用请大家帮帮忙!!! 解决方案 解决方案二:该回复于2010-12-16 13:29:13被版主删除解决方案三:一直是孤身一人解决方案四:2010的团队?多说了我也担心自己"幼稚"了..net板块的问题基本上距离团队都还有5年的差距.我昨天"不小心"在另外一个板块回复了几句涉及(仅程序员)10人以下团队,你可以参考一点点.这也就是皮毛,lz提出什么水平的问题我就回复什么水平的问题,懒得多说.解决方案五:如果你是说vs2010的什么Team版本.什么TF

最近做项目 需要图像识别和比对 帮帮我

问题描述 最近做项目 需要图像识别和比对 帮帮我 具体是衣服图片和库里的衣服图片进行比对 找出最相似的图片 用户上传的衣服图片 可能是带人头 可能是网上的 背景 各方面 都会不一样

xml解析-在做项目实训,遇到Xml解析的问题

问题描述 在做项目实训,遇到Xml解析的问题 运行时出现这样的问题setInput() must be called first. (position:START_DOCUMENT null@1:1) <?xml version=""1.0"" encoding=""UTF-8""?>-<Response>-<Error><ErrorCode>0</ErrorCode>

异常处理-Struts2项目中声明式异常捕捉 却显示No result defined for action

问题描述 Struts2项目中声明式异常捕捉 却显示No result defined for action LoginForm.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"