java – 常见的下溢和溢出异常

我试图在 java中获得一个溢出和下溢的异常,但无法得到任何漂亮的教程.具体我想学习

>他们是如何不同的?
>这些异常的子类是什么?
>在哪种情况下他们被抛出?
>哪些可以处理怎么办?
>与他们相关的最佳做法是什么?

任何链接到有用的教程将做

解决方法

好的,OP谈到想知道堆栈溢出和算术溢出以及它们相应的下溢.开始….

>当数字太大而不适合其值类型时,会发生算术溢出.例如,int保持-231和231-1之间的值,包括0和231.如果您的号码超过这些限制,则会发生溢出,并且数字“包围”.这些不会在Java中生成异常.
>当浮点数太小而不能很好地从零区分(数字的精度被截断)时,会发生算术下溢.在Java中,这些也不会引起异常.
>当您调用一个函数调用另一个函数,然后调用另一个函数,然后再调用另一个函数,并且函数调用栈太深时,会发生堆栈溢出.当这种情况发生时,您会收到一个StackOverflowError.
> Java中不会发生堆栈下溢.它的运行时系统应该防止这种事情发生.

要回答OP的其他问题(见注释),当您超出数组的边界时,会发出IndexOutOfBoundsException.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...