始终使用选中的例外

Chr*_*ton 2 java exception checked-exceptions unchecked-exception

我最近一直在重新考虑一些Java代码......我发现有很多RuntimeExceptions被抛出(即未经检查的异常).我创建了自己的已检查异常,并用我自己的异常替换了这些RuntimeExceptions的每个实例.然后,这迫使我检查异常.

有了这个,我发现检查异常更好,因为另一个开发人员将确保处理异常...而不是程序只是吃异常而不向用户显示任何内容.

我已经阅读了许多关于未经检查和已检查异常的文章.但是,我仍然觉得我更多地检查了异常,因为它减少了人为错误.

编程有多糟糕,主要是使用检查异常?有没有其他人觉得他们喜欢检查异常比未经检查的异常更多?

Fra*_*eza 5

我的建议,虽然不同的人会对此有不同的看法,但是:

  • 对于应由您认为属于应用程序逻辑的部分处理的异常条件,使用已检查的异常,例如:用户输入非现有用户名进行登录,用户尝试保存,项目超出其订阅允许的限制等.这样,发现异常情况的代码的客户端被迫至少承认可能发生这种情况的事实,并希望以最恰当的方式处理它
  • 使用未经检查的异常会在您无法控制的情况下及早失败并且无法通过应用程序逻辑进行恢复,例如:您的函数接收错误的参数作为参数:听起来像抛出"非法参数异常"的完美场景,是大多数编程语言中的运行时异常