• java基础知识学习 java异常


    1: Unchecked Exception( 也就是运行时异常) VS  Check Exception(非运行时异常)

    2: 运行期异常  VS  非运行期异常?

           非运行时异常: 必须在代码中显示的声明捕获也就是放在try{}catch(){}块中,或者在方法上申明throws 来抛出异常,类型上都属于Exception类及其子类

           运行时异常:不需要特意的申明,一般运行时异常都是虚拟机出现问题了才会报,比如你写个死循环导致内存不足什么的, 运行时异常都是RuntimeException类及其子类,如 NullPointerExcetpion、IndexOutOfBoundsExcrtiption等,程序可以不捕获。一般是由逻辑引起的,要尽量避免。

            RuntimeException类是Exception类的子类,它叫做运行时异常,Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。

      Java中凡是继承自Exception,而不继承自RuntimeException类的异常都是非运行时异常

    3: 什么是异常丢失?

      抛出异常后处理异常的code又抛出新异常,则旧异常丢失。

    4: 异常处理两种方式?  

       用try {}  catch{}  finally {}  捕获处理;       函数后面throws Excepltion,抛出异常,函数内部throw new Exception()。

    5:  如何自定义异常?

      继承Exception或其子类(比如RuntimeException)。

    6: try语句块中有return, 会执行finally吗?   如果执行try{} 之前有return,  finally会执行吗?

      try中有return, 也会首先执行finally中的代码;  如果是Sytem.exit(0),就不执行finally;

      如果在try之前有return, finally 是不会被执行的。

    7: catch中的异常匹配?

      基类会捕获派生类异常。catch的时候,会先匹配派生类的,然后是基类的。

    8: Throwable, Error, Exception, RuntimeException的区别?

      (1)Throwable类是 Java 语言中所有错误或异常的超类。它的两个子类是Error和Exception;

      (2)Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件;

      (3)Exception类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件;

      (4)RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。

        可能在执行方法期间抛出但未被捕获的RuntimeException 的任何子类都无需在 throws 子句中进行声明。它是Exception的子类;

  • 相关阅读:
    面向对象 (11)求交并集 判断字符形式
    软件工程 课程总结
    面向对象 (10)正则判邮箱
    面向对象 (9)计算时间差 找随机数范围内规律
    面向对象 (8)字符串出现字符个数统计 字母组成回文串判定
    面向对象 (7)中介买房 平均数异常处理
    面向对象 (6)买房付首款
    第16周作业
    第15周作业
    迟到的第14周作业
  • 原文地址:https://www.cnblogs.com/liufei1983/p/9021770.html
Copyright © 2020-2023  润新知