栈溢出在Java中属于异常吗?它能否被捕获?请解释原因。
考察说明
考察对栈溢出错误的本质理解及异常捕获机制的边界
回答思路
- 明确栈溢出在Java中属于Error(如StackOverflowError)而非Exception
- 解释StackOverflowError继承自VirtualMachineError与Error类,不属于受检或非受检异常体系中的Exception
- 说明StackOverflowError虽然可以被捕获,但捕获后通常无法恢复执行,且不应依赖捕获来处理
- 指出正确做法是预防栈溢出,如控制递归深度、使用迭代或调整栈大小
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。