当它是异常的正确目的时

时间:2017-01-30 11:19:07

标签: oop exception exception-handling

我正在研究OOP,我不理解异常的概念。

例外的正确用法是什么?

为什么在您已经知道可能的例外时使用例外?

例如,我看过程序员需要访问文件的代码示例,如果文件不存在则会出现异常。像“catch(fileDoesNotExist e)”这样的东西。

为什么不在采取行动前使用if进行验证?并且仅针对未知问题使用异常,用于记录或错误消息。

2 个答案:

答案 0 :(得分:0)

异常概念背后的想法是将错误处理代码与“正常”行为流控制分离。这使得可以在调用堆栈中进一步管理/处理异常。

历史上,使用结构化语言,错误处理代码(文件打开错误,......)在“业务”应用程序代码中混合使用。为了管理新的错误代码,改进代码也很痛苦。

  

例外的正确用法是什么?

如果您的文件不存在或无法打开是不正常的话=>它被视为特殊情况=>例外=>异常处理程序

  

为什么在您已经知道可能的例外时使用例外?

将业务应用程序代码与错误处理分离。这简化了源代码的可读性和维护。

答案 1 :(得分:0)

<强>例外:

异常是中断(中断)程序的正常流程。它在运行时被抛出。

异常处理

异常处理是处理运行时错误的机制,例如ClassNotFound,IO,SQL,Remote等

在java 中,主要有两种类型的检查和取消选中的异常。除了错误之外还有

Hierarchy of Exception classes in Java

为什么在您已经知道可能的例外时使用例外?

基本上是异常处理主要使用,我们假设,因为我们的特定代码会出现一些(NullPointerException,ArrayIndexOutOfBoundsException等...)异常。如果我们不处理那个,程序将会中断。实际上,它可能会或可能不会发生异常。但是我们需要处理它发生或不发生的程序的正常流程。否则在特定代码段之后不执行。