【问题标题】:why the Exceptions was introduced in the java [duplicate]为什么在java中引入了异常[重复]
【发布时间】:2021-04-04 11:45:54
【问题描述】:

Java中异常是如何工作的有很多解释,那就是异常的根类,它们的继承性。但是几天前我被问到一个新问题:Java 中出现异常的确切原因是什么? Java中的目标是什么。为什么(不是它是什么或它在那里如何工作)? 这个问题和解释你是怎么理解的?

【问题讨论】:

标签: java exception


【解决方案1】:

异常处理是编程中一种长期存在的机制,至少可以追溯到 1960 年代(参见 Multics 和 PL/I 示例)。一些系统和语言设计者发现它很有用,而另一些则没有。

基本原理是异常适用于处理“异常”的情况,因此最好由外线代码处理。

硬件中有一个类似物。例如,如果您试图除以零,早期的计算机可能会设置一个状态标志(程序可能会或可能不会查看)。或者机器甚至会停止。随后,异常变得普遍:在被零除时,机器将捕获到特定位置,运行时系统本应在该位置安装处理程序。

简短的回答:这是语言设计的品味问题。

【讨论】:

    【解决方案2】:

    例外是实用且有用的。就是这样。这对于 Java 和任何其他支持它们的语言都是一样的。

    加长版:

    • 异常使您的代码保持简单、可读和有条理。
    • 查找和修复代码中的问题变得更加简单,因为您可以准确地看到问题发生的位置以及代码是如何到达那里的。
    • 如果出现问题,您不必检查每一行。
    • 您不需要函数的特殊返回值来告诉调用者函数失败了。
    • 您可以拥有强大的处理程序,当某些意外情况发生时,您的代码会自动“跳转”。
    • 它们是非侵入性的 - 除非您愿意,否则您不必处理它们。
    • 即使您自己不处理异常,仍然有一个定义明确且可预测的默认机制来处理它。
    • 通过异常链接,您还可以看到问题的原因。

    【讨论】:

    • 这个答案更简洁明了的解释。绝对是个好答案
    猜你喜欢
    • 2019-06-27
    • 2010-09-26
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2017-05-22
    • 2013-03-05
    • 1970-01-01
    • 2019-06-23
    相关资源
    最近更新 更多