论坛首页 Java企业应用论坛

老掉牙的话题,java的异常处理。

浏览 36550 次
精华帖 (1) :: 良好帖 (6) :: 新手帖 (12) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-20   最后修改:2011-03-20
如果你每层都catch那你runtime图什么,如果你不catch,你有本事预计哪些异常会捅上去吗,
————————————————————————
不是你预计那些异常会捅上来,而是你想你能处理什么异常。能不能处理这件事是使用者想的,对于API设计者来说就是把问题说清楚。如果调用者不严谨,你越是使劲可能结果越差,可能无非换来乱吞。如果调用者严谨他会想你会发生什么问题,他会考虑他是否能从你某个错误中恢复过来。checkedException问题在于本应是调用者的职责API非要干预,如果调用者不严谨这种干预会导致更严重的问题:就是乱吞异常,导致未处理异常器都没捕获到问题。
0 请登录后投票
   发表时间:2011-03-20   最后修改:2011-03-20
ppgunjack 写道
carlkkx 写道
乱吞异常用runtime可以解决吗?这是态度问题
————————————————
如果你不强迫别人,别人还发生乱吞现象,那这个人纯粹吃饱了撑的了?

本来是乱吞,你都不强迫他了,他还给你写文档说我会抛这个异常,那这个人纯粹吃饱了撑的了?

这个本来是哪来的,API方把问题说清楚,职责已经到位。他怎么会去假设他的调用者是本来就要乱吞的。你这是什么思路啊。乱吞大多是checkedException导致的难道你不知道?一个越不严谨的人他如果不是受到强迫他怎么会做额外的工作去吞异常。
0 请登录后投票
   发表时间:2011-03-20  
把乱吞异常的散养不如把这些人圈养
乱吞异常的会把问题说清楚?既然不乱吞了,他更不会写文档了
全是runtime调用者是不会被强暴了,只会被mijian
http://www.iteye.com/topic/2038 这个帖子确实很好,这是回这个帖子最大的收获
0 请登录后投票
   发表时间:2011-03-20  
对于严谨的人来说checkedException导致给他带来更多烦恼,本来严谨者知道他要处理什么,但是面对一些他不处理的checkedException他不得不做一些额外的工作。

对于不严谨的人来说checkedException导致他乱吞异常,本来至少可以被未处理异常捕获到,但是现在可能彻底埋了异常。
0 请登录后投票
   发表时间:2011-03-20  
carlkkx 写道
ppgunjack 写道
carlkkx 写道
乱吞异常用runtime可以解决吗?这是态度问题
————————————————
如果你不强迫别人,别人还发生乱吞现象,那这个人纯粹吃饱了撑的了?

本来是乱吞,你都不强迫他了,他还给你写文档说我会抛这个异常,那这个人纯粹吃饱了撑的了?

这个本来是哪来的,API方把问题说清楚,职责已经到位。他怎么会去假设他的调用者是本来就要乱吞的。你这是什么思路啊。乱吞大多是checkedException导致的难道你不知道?一个越不严谨的人他如果不是受到强迫他怎么会做额外的工作去吞异常。

你觉得他的api会catch这个异常吗?你觉得他会在文档里说明我没吞这个异常,我会抛出来吗?这不是额外的工作吗?你敢用他的api吗?
0 请登录后投票
   发表时间:2011-03-20  
严谨者知道他要处理什么?你认识的有几个有资格称严谨?有1/10就很高了
这个社会不是靠个人天赋工作的,是靠制度,也就是约束,我从来不相信我上下级,同事和我自己的天赋
那些天才的哲学不一定适合大众,天赋,所处阶段,合作者的素质不一样
0 请登录后投票
   发表时间:2011-03-20  
carlkkx 写道
对于严谨的人来说checkedException导致给他带来更多烦恼,本来严谨者知道他要处理什么,但是面对一些他不处理的checkedException他不得不做一些额外的工作。

对于不严谨的人来说checkedException导致他乱吞异常,本来至少可以被未处理异常捕获到,但是现在可能彻底埋了异常。

我这里的人改成项目也是成立的。对于不是非常严谨的项目,通过迭代测试补回那些本该处理但是没处理的被未处理异常器捕获到的异常。即倒追法。
0 请登录后投票
   发表时间:2011-03-20  
你尝试做做server端的东西吧,异常设计比正常流程设计要考虑的更多
是否runtime是很微妙但是影响很大的东西,绝对不是多几行代码多点麻烦所能评价的
如果在这个问题上没有纠结过说明也没好好思考过怎么写好代码
0 请登录后投票
   发表时间:2011-03-20  
ppgunjack 写道
严谨者知道他要处理什么?你认识的有几个有资格称严谨?有1/10就很高了
这个社会不是靠个人天赋工作的,是靠制度,也就是约束,我从来不相信我上下级,同事和我自己的天赋
那些天才的哲学不一定适合大众,天赋,所处阶段,合作者的素质不一样


checkedException导致乱吞最终的效果反而不如我刚说的倒追法,
好现在结论出来了:
对于严谨优秀的开发人员来说checkedException带来更多麻烦。
对于不严谨的状况,checkedException导致乱吞,问题严重,本根不如倒追法。
0 请登录后投票
   发表时间:2011-03-20  
ppgunjack 写道
你尝试做做server端的东西吧,异常设计比正常流程设计要考虑的更多
是否runtime是很微妙但是影响很大的东西,绝对不是多几行代码多点麻烦所能评价的
如果在这个问题上没有纠结过说明也没好好思考过怎么写好代码

你这话说的,这么多语言都没有checkedException,难道所谓Server端全是Java写的?就算Java checkedException也在减少,Spring这些是不是常被用于Server?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics