用throws好。还是try{}catch{}好? 用throws好。还是try{}catch{}好? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意楼上,这不能说好不好这得看你想在哪catch了,比如方法A会抛出异常,你若想在A就处理这个异常的话,那你就在A中Catch,否则就Throw出去。 恩 用途不一样吧 用catch的时候 你肯定不想放着这个Exception不管 想要立即处理了;当你想throw的时候,就是不处理 等到合适的时候再处理 方法内知道如何处理错误的,就catch住自己处理,不知道如何处理的throw给上一层。 throw给上一层,只声明有异常,catch自己处理,别人调用这个方法不会产生异常。根据自己设计来判断用那个。 我感觉底层API一般适合throws, 让调用者去处理,至于应用层,可以处理了就必须要throws出去了,其实就是看什么时候适合的问题,这个东西多写写了就有感觉了 举个简单的例子就是 call callaction -----> service -----> DAO在action可以处理掉了,而service 和 DAO的可以throws出来,他们还不适合处理异常,否则前台就不知道了。 这两种方式没有哪个好之说,一般情况在写一个接口或者一个功能方法时会使用throws抛出去,因为自己不清楚出现这种情况调用者要如何处理,但如果是实现一个接口,异常则需要自己处理,而不能继续往外抛 你觉得关键的地方自己try catch,但不能常常自己去处理异常,一般都throw异常,这样方便一点 throw出去到外面不是还要catch捕获异常么? 关键是看你想在什么时候捕获异常。。我觉得啊 晕。两者本质有区别,无法比较。throws只是申明,并没有处理,实际调用时还是需要处理的! 两者之间谈不上那个好,那个不好,要看你设计的目的和需求了,throws 是抛出在方法可能出现的异常,这样代码看起来会好写,由方法的调用者来捕获该异常,而try catch是在可能抛出异常出将其捕获,这样代码看起来比较乱,但方法的调用中不用管该方法是否有异常! 能处理的尽量用try catch处理不了的就抛到上层处理。 用try catch处理效率高,抛到上层效率底 try catch 是现在就截获处理了如果不想现在处理就throws 抛到另外一个地方去等待处理 如果还不想处理 再抛出去始终是要处理的 就看在什么地方处理合适 应该是各有优点吧,我也是刚刚学Java,顶楼主了,共同学习 没有什么好不好的,只能说显示友好不友好的问题。。如果用throws当出现异常的时候,看不到什么异常,而通过try{}catch(){}得到友好的提示!程序开发一般多使用try{}catch(){};而且遇到比如SQLException等必抛异常还得要用try{}catch(){} 如果你希望在出现Exception时终止运行的话当然用throws,如果希望出现Exception后继续执行后面的内容就肯定要catch.提醒一下,try...catch...比较耗资源。 J2SE SDK与J2EE SDK能不能同时安装? 中文字符串怎么比较大小 FileDialog和JFileChooser,判断文件名为非法字符 Swing问题求助 请教:Java网络端口问题 望赐教! 100分求助!! 如何让框架窗口在运行时就最大化? 简单字符串问题在线等待。 在Java中如何确定浮点数的精度,例如如何按要求确定小数点后面的数字个数??? 谁能帮忙看看《thinking in java》第14章的这个简单的注册工厂有啥用? “在命令行中输入java Cycle one two.”不太理解,求详细解答 求一段简单有效的小代码,我写完之后还是少一种情况,而且效率不高
这得看你想在哪catch了,
比如方法A会抛出异常,你若想在A就处理这个异常的话,那你就在A中Catch,
否则就Throw出去。
至于应用层,可以处理了就必须要throws出去了,其实就是看什么时候适合的问题,这个东西多写写了就有感觉了
举个简单的例子就是
call call
action -----> service -----> DAO在action可以处理掉了,
而service 和 DAO的可以throws出来,他们还不适合处理异常,否则前台就不知道了。
我觉得啊
如果不想现在处理就throws 抛到另外一个地方去等待处理 如果还不想处理 再抛出去
始终是要处理的 就看在什么地方处理合适
提醒一下,try...catch...比较耗资源。