关于抛出异常 在java的方法中throw定义了一个异常,是不是在该方法首部必须声明抛出异常啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20101230/10/cdecfd1f-1a04-4108-b110-d96ebcf550f9.html高手顺便看看这个问题,我不信没人能解决。 不需要的 只要在同一个方法中有catch对应的异常就行了…… 如果方法中throw异常那么在方法上应该声明throws异常 可以在throw包上try catch块 也可以在方法上声明throws 5楼正解,如果你是打印或是输出到log里就不要声明 不是的。throws用在方法声明的头部,意思是转移异常,让上层try-catch块来处理异常。而throw用在方法体中,意思是显示地抛出异常,并在本层进行异常的处理。 有两种方法处理这种情况, 一种是在方法签名中声明抛出异常,让调用者去处理:throws 该异常类型; 另一种是在throw语句的外面适当位置用try ... catch来处理该异常,在方法内部处理而非抛给调用者。至于选择哪种方式,就很有讲究了。一般来讲,你写的这个方法(暂称为m1)是被其他方法(暂称为m2)调用的, 如果m1中发生异常后,需要让m2知道m1执行过程中发生了异常情况,那么应该在方法签名中声明抛出,并且不要再m1方法内部去处理这个异常(即使处理,之后也要再次抛出); 如果发生该异常时,不需要m2知道,那么在m1中内部处理就是了。 做这些考虑时,与是否写入日志是无关的,不论选用哪种方法处理,该写日志还写日志。 不一定的。有的方法需要throws异常。可以用Try {}catch{}finally{}捕获 异常的处理有两种方式:推卸(throws)、承担(catch)。 如果抛出的是RuntimeException,就不需要在方法声明抛出异常。否则,就需要声明,或者catch掉 非常感谢大家的回复,但是我的方法里没有try catch也没有在方法声明时throws,我很是不明白为什么程序还能运行 如果你这么做,那你在调用这个方法的时候要加上try 如果有catch就不要再函数头抛出了吧!如果没有那就需要~~throw只是告诉程序你要抛,具体抛不抛那是你的事了吧~~才疏学浅,仅作参考! 创建数组报错,求教! JTable的问题 JTable中,拖动水平滚动条时,如何保持前两列不跟着移动 静态变量和实例变量的区别是什么? 一个简单的关于线程的问题(在线等) JAVA绘图问题? main函数的问题!!! 如何在jdbtable中设置某一行为高亮显示?(解决马上给分!) 这段代码中的bs表示的是什么 字符串交换问题求助 求救,JNative调用dll函数如何取得内存里的数据 关于科学记数法
高手顺便看看这个问题,我不信没人能解决。
可以在throw包上try catch块
也可以在方法上声明throws
而throw用在方法体中,意思是显示地抛出异常,并在本层进行异常的处理。
一种是在方法签名中声明抛出异常,让调用者去处理:throws 该异常类型;
另一种是在throw语句的外面适当位置用try ... catch来处理该异常,在方法内部处理而非抛给调用者。至于选择哪种方式,就很有讲究了。
一般来讲,你写的这个方法(暂称为m1)是被其他方法(暂称为m2)调用的,
如果m1中发生异常后,需要让m2知道m1执行过程中发生了异常情况,那么应该在方法签名中声明抛出,并且不要再m1方法内部去处理这个异常(即使处理,之后也要再次抛出);
如果发生该异常时,不需要m2知道,那么在m1中内部处理就是了。
做这些考虑时,与是否写入日志是无关的,不论选用哪种方法处理,该写日志还写日志。