Java面试题:Error和Exception有什么区别?
问:Error 和 Exception 有什么区别?
答:错误是指系统级的错误和程序不需要处理的异常。当恢复并非不可能但非常困难时,这是一个严重的问题;比如内存溢出,不可能期望程序能够处理此类情况;异常 描述程序必须捕获或处理的异常,是设计或实现问题;也就是说,它代表了如果程序正常运行就不会发生的情况。
面试问题:2005年在摩托罗拉面试时,被问到“如果运行时错误报告进程堆栈溢出,最可能的原因是什么?”被问到,并给出了四个选项:lack凭记忆; b.写入不正确的内存位置; C。调用递归函数; d.行索引超出范围。 Java 程序在运行时也会遇到 StackOverflowError。这是一个不可恢复的错误,只能编辑代码。这道面试题的答案是c。如果你写的递归不能快速收敛,很可能会导致堆栈溢出错误,如下图:
class StackOverflowErrorTest {
public static void main(String[] args) {
main(null);
}
}
提示:使用递归编写程序时,必须牢记两点: 1. 递归公式; 2. 递归公式; 2. 收敛条件(是否不再继续递归)。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。