我应该处理Java RuntimeException吗?

时间:2017-08-21 12:41:31

标签: java exception-handling

在使用我们的源代码中的IllegalArgumentException方法处理NullPointerExceptionClassCastExceptionCollection#add()add()时,使用元素添加元素是否合适? <div id='myDate'> <input type="text" type="text" class="form-control"/> </div> 方法?

2 个答案:

答案 0 :(得分:1)

不,你应该编写代码,以便知道它们不会发生。即不要尝试修改不可修改的集合,因为这会导致UnsupportedOperationException等。

此外,你怎么处理它们?

答案 1 :(得分:1)

这取决于你对“句柄”的意思。

您绝对应该在应用程序中记录这些异常某处,而不一定接近Collection.add()来电。一些顶级包装器可能是更好的地方。

但是,如果你发现这些例外(或任何其他例外),请问自己“虽然add()没有成功,但我可以正常继续这里吗?”。根据我的经验,在大多数情况下,你不能 - 你正在添加元素,因为这是你的算法所需要的,所以它会失败或产生错误的结果。因此,您希望告诉调用者您无法完成任务,这意味着抛出异常或更容易让异常闯入您的调用者。

只是,你不希望你的整个应用程序由于一个本地程序员错误而停止,所以包含顶级菜单函数,服务请求或类似事物的包装器是有意义的,捕获并记录所有Throwables,通知用户并使应用程序进入接受下一个命令/请求的状态(如果这不会自动发生)。

所以,最懒的程序员经常生成最强大的代码(异常),因为他永远不会引入不必要的catch子句。