关于java抛出异常的方式

publicstaticvoidabc()throwsNullPointerException,IndexOutOfBoundsException{Listlist=nu... public static void abc() throws NullPointerException,IndexOutOfBoundsException { List list = null; try { list.size(); } catch (NullPointerException e) { throw e; } System.out.println("a"); int[] i = { 1, 2 }; try { System.out.println(i[2]); } catch (IndexOutOfBoundsException e) { throw e; }
} public static void bcd() throws NullPointerException,IndexOutOfBoundsException{ List list=null; list.size(); System.out.println("a"); int[] i = { 1, 2 }; System.out.println(i[2]); }请问这两个方法的抛出异常的方式,那个才是最规范的,并且告诉我为什么
展开
 我来答
匿名用户
2013-08-13
展开全部
我也不知道哪个规范,但个人认为一般都是第二个,因为第一个是你程序捕获到然后再抛出,第二个是jvm自己走到异常处自己抛出,既然jvm已经会抛出异常了,那你干嘛还用第一种手动捕获的呢,我觉得这可能还会浪费一些效率,虽然是微乎其微的,再者第一种可能就是你会预先知道这地方可能会有异常,在catch那里要做些相应的处理,然后再抛.所以我觉得也没有规范不规范之说了,两种用法各有一点不同而已. 还有 下次你贴代码最好能换行什么的,或截图啊,你这样贴出来我们回答的还得去格式化代码
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式