应该手动抛出什么异常?RuntimeException?

Java程序员应该手动抛出什么异常?不能抛出RuntimeException吧? 

秦三行

Bbs1

结帖率 96.88%

 if(sectionCodeT!=null && !"".equals(sectionCodeT)){
boolean b = this.validateCodeBySectionType(s.getSectionType(),sectionCodeT);
if(b){ //编码重复
throw new RuntimeException("编号已经存在");
}
 }else{
throw new NullPointerException("编号为空");
 }
上边的代码是想在service层抛出,然后在controller层用try catch接收到这个异常,但是总觉得抛出这两个异常不太好,又说不上来应该抛出什么异常,莫非要让我自定义异常吗

还有,作为程序员 手动抛出 运行时异常好吗??总觉得应该抛出检查异常,就是非运行时异常,那我应该抛出什么??

聪明的女人从不买面膜,睡前这样做,皱纹全消显年轻!广告 遇见 · 燨燚

问题点数:40分

 0 2014-11-14 10:49:15

回复数 11 只看楼主 引用 举报 楼主

秦三行

Bbs1

 知道请回复谢谢各位

0 2014-11-14 11:06:47

只看TA 引用 举报 #1    得分 0

手动使用throw抛出异常/* 模拟注册*/public class fuck9{ public static void main(String [] args){ //假如用户提供的用户名如下: String username="wwwwwwww"; //注册 CustomerService cs=new CustomerService(); try { cs.register(use...

Defonds

Bbs9 版主

Blank Blank Blank

就抛自定义异常呗

0 2014-11-14 12:52:17

只看TA 引用 举报 #2    得分 0

java 手动抛出异常当然需要先用try catch捕获,但注意new Exception("")括号里的字符串其实是异常原因,所以获取是要用ex.getCause().getMessage() public void divide() throws Exception { int dylist = dyDao.findByHql("from ZcZcsqdy where y

littlebrain4s...

Bbs5

Blank

1、一般运行时异常属于抽象异常;项目应该自定义大类运行时异常类来抽象表示问题所在;
2、检查时异常一般都是把发生的问题具体化。

0 2014-11-14 13:10:51

只看TA 引用 举报 #3    得分 0

JAVA运行时异常及常见的5中RuntimeExecption最近在抽时间看面试题,很多面试题都提出了写出java常见的5个运行时异常。现在来总结一下, java运行时异常是可能在java虚拟机正常工作时抛出的异常。 java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption)。 检查式异常:我们经常遇到的IO异常及sql异常就属于检查式异常。对于这种异常,java编译器要求我

秦三行

Bbs1

引用 3 楼 littlebrain4solving 的回复:

1、一般运行时异常属于抽象异常;项目应该自定义大类运行时异常类来抽象表示问题所在;
2、检查时异常一般都是把发生的问题具体化。

我在本文代码块中应该抛出的是自定义 检查异常吧,?而不是抛出运行时异常?

0 2014-11-14 14:07:05

只看TA 引用 举报 #4    得分 0

Java高级系列——何时使用、如何使用异常(Exceptions)一、介绍 在Java中,异常是一个非常重要的工具,在程序流中异常可以发出一些反常的(异常的)情况并阻止程序进行更深入的执行。自然地,异常情况可能是致命的(程序不能执行任何操作并且会终止),也可能是可恢复的(程序可以继续执行,但是有些功能可能不可用)。 本文我们将会阐述一些使用异常的经典场景,讨论Checked Exceptions和Unchecked Exceptions,并且接触一些不太常见

littlebrain4s...

Bbs5

Blank

引用 4 楼 duanlexianer 的回复:

Quote: 引用 3 楼 littlebrain4solving 的回复:

1、一般运行时异常属于抽象异常;项目应该自定义大类运行时异常类来抽象表示问题所在;
2、检查时异常一般都是把发生的问题具体化。
我在本文代码块中应该抛出的是自定义 检查异常吧,?而不是抛出运行时异常?


这里应该抛出检查异常。

专业为你发力,旺季来临,人气旺,挣钱足!广告 扬州轻奢 · 燨燚

0 2014-11-14 14:56:49

只看TA 引用 举报 #5    得分 10

Howhyou_

Bbs1

运行时异常不用没必要抛出吧

0 2014-11-14 15:12:49

只看TA 引用 举报 #6    得分 30

【java知识点异常】throw new RuntimeException(e)与e.printStackTrace( )的区别转载自:https://blog.csdn.net/xuzhuaaron1/article/details/73611404e.printStackTrace( )是打印异常栈信息,而throw new RuntimeException(e)是把异常包在一个运行时异常中抛出。我们常看见这种写法try{....}catch(Exception e){e.printStackTrace( );thro...

mysteryboy2000

Bbs1

空手就想套白狼 想让人给你做项目,还好意思发帖 你真搞笑。

0 2015-01-14 21:46:28

只看TA 引用 举报 #7    得分 0

Java中常见的几种RuntimeException总结了一下JAVA中常见的几种RuntimeException,大约有如下几种: NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常。 IllegalArgumentException - 传递非法参数异常。 ArithmeticException - 算术运算异常 ArrayStoreException - 向数组中

wgxaszc8

Bbs1

回复于: 2015-01-14 21:46:28
空手就想套白狼 想让人给你做项目,还好意思发帖 你真搞笑。
你个sb,看什么帖子呢,去死你妈逼里做项目去,mb,请教个问题,不会就在这瞎nm BIBI

0 2016-11-17 17:32:23

只看TA 引用 举报 #8    得分 0

java后台代码抛出的异常可以在页面上显示吗?java后台代码抛出的异常可以在页面上显示吗?有代码例子吗?求大神指导

qq_16690419

Bbs1

Exception的子类,非RunTimeException的子类是必须要处理的;RunTimeException的子类是可处理可不处理的。。。。

0 2017-06-02 10:29:05

只看TA 引用 举报 #9    得分 0

Java 如何抛出异常、自定义异常一、异常的抛出 1、定义 : 一个方法不处理这个异常,而是调用层次向上传递,谁调用这个方法,这个异常就由谁来处理。2、throw : 将产生的异常抛出(强调的是动作),抛出的既可以是异常的引用,也可以是异常对象。(位置: 方法体内)3、throws : 如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常。用它修饰的方法向调用者表明该方法可能会抛出异

reupe

Bbs1

最好不要抛出RuntimeException以及它的子类。
因为RumtimeException以及其子类比如NullPointerException,IndexOutOfBoundsExceptiond等等,这些所谓"checked"异常,程序员通过处理,是完全可以避免异常的,换句话说,这类异常出现,是因为你没处理好代码。
而IOException这些"unChecked"异常很多情况下你是无法控制的,这类异常的发生是 你所不能预测的,这就需要抛出,告诉方法调用者可能会发生这样的异常

吸烟前巧用一物,当天排出“恶露”,健康到尖叫广告 亚通 · 燨燚

0 2017-07-06 10:48:42

只看TA 引用 举报 #10    得分 0

reupe

Bbs1

引用 10 楼 reupe 的回复:

最好不要抛出RuntimeException以及它的子类。
因为RumtimeException以及其子类比如NullPointerException,IndexOutOfBoundsExceptiond等等,这些所谓"checked"异常,程序员通过处理,是完全可以避免异常的,换句话说,这类异常出现,是因为你没处理好代码。
而IOException这些"unChecked"异常很多情况下你是无法控制的,这类异常的发生是 你所不能预测的,这就需要抛出,告诉方法调用者可能会发生这样的异常



这里面有个错误,RuntimeException是unchecked异常
IOException是checked异常

0 2017-07-06 10:57:16

猜你喜欢

转载自blog.csdn.net/evilcry2012/article/details/85291034