常见的下溢和上溢异常

我试图获取Java中的上溢和下溢异常,但找不到任何不错的教程。我特别想学习

  1. 它们彼此之间有何不同?
  2. 这些异常的子类是什么?
  3. 在哪种情况下会抛出它们?
  4. 其中哪些可以处理,如何处理?
  5. 与它们相关的最佳实践是什么?

任何指向有用教程的链接都可以

回答:

好的,OP曾经想了解堆栈溢出和算术溢出及其对应的下溢。开始....

  1. 当数字太大而无法容纳其值类型时,就会发生算术溢出。例如,a int保持值介于-2 31和2 31 -1之间(含)。如果您的电话号码超出这些限制,则会发生溢出,并且电话号码“回绕”。这些不会导致在Java中生成异常。
  2. 当浮点数变得太小以至于不能很好地与零区分开(算出的精度被截断)时,就会发生算术下溢。在Java中,这些也不引起异常。
  3. 当您调用一个函数,又调用另一个函数,然后又调用另一个函数,然后再调用另一个函数时,就会发生堆栈溢出……并且函数调用堆栈变得太深。StackOverflowError当发生这种情况时,您会得到一个提示。
  4. Java中不会发生堆栈下溢。它的运行时系统应该可以防止此类情况的发生。

为了回答OP的其他问题(请参见注释),当您超出数组的边界时,将IndexOutOfBoundsException发出an 。

以上是 常见的下溢和上溢异常 的全部内容, 来源链接: utcz.com/qa/430252.html

回到顶部