java面试题:Error和Exception有什么区别?

2019-03-1819:58:22后端程序开发Comments2,093 views字数 591阅读模式

问:Error和Exception有什么区别?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10132.html

答:Error表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;Exception表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10132.html

面试题:2005年摩托罗拉的面试中曾经问过这么一个问题“If a process reports a stack overflow run-time error, what’s the most possible cause?”,给了四个选项a. lack of memory; b. write on an invalid memory space; c. recursive function calling; d. array index out of boundary. Java程序在运行时也可能会遭遇StackOverflowError,这是一个无法恢复的错误,只能重新修改代码了,这个面试题的答案是c。如果写了不能迅速收敛的递归,则很有可能引发栈溢出的错误,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10132.html

class StackOverflowErrorTest {

    public static void main(String[] args) {
        main(null);
    }
}

java面试题:Error和Exception有什么区别?

提示:用递归编写程序时一定要牢记两点:1. 递归公式;2. 收敛条件(什么时候就不再继续递归)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10132.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10132.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/10132.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定