栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础day03-异常篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础day03-异常篇

第三章、异常处理

异常处理在程序运行过程中出现的错误Exception,异常被分成编译时异常和运行时异常

1. 异常的分类
  • 编译时异常
    程序在编译过程中发生的异常,必须要进行处理,如果不处理,就会无法正常运行程序。
  • 运行时异常
    程序在运行时发生的异常,在编译环节没有报错,可以处理也可以不处理,运行时异常可以在编译时被忽略。
补充:

在异常这一章,存在一个概念:错误
错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽视。例如:当栈溢出时,一个错误就发生了,他们在编译时也检查不到。
无论是运行时异常,还是编译时异常,在最后都需要处理

自定义异常 为什么要自定义异常

​ 程序自己本身的异常类型已无法满足需要的时候,需要自定义异常来满足需求。

自定义异常的前提
  1. ​ 需要继承异常的父类或者直接子类

    • extends Exception
    • extends Throwable
    • extends RuntimeException
  2. ​ 需要写两个构造器

    • 需要注意的是:无参构造来调用有参构造
异常处理的三种方式 a) throw
public class Students  {
    public static void main(String[] args) {
        //语句块
        throw new RuntimeException("这是一个错误");
    }
}
b) throws
public class Students  {
    public static void main(String[] args) throws Exception {
        //语句块
    }
}
c) try…catch…finally
public class Students  {
    public static void main(String[] args) {
        //语句块
        try {
            //需要捕获异常的地方
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            System.out.println("这句话一定被执行!");
        }
    }
}

常见的异常类型

异常描述
ClassNotFoundException应用程序试图加载类时,找不到相应的类,抛出该异常。
CloneNotSupportedException当调用 Object 类中的 clone 方法克隆对象,但该对象的类无法实现 Cloneable 接口时,抛出该异常。
IllegalAccessException拒绝访问一个类的时候,抛出该异常。
InstantiationException当试图使用 Class 类中的 newInstance 方法创建一个类的实例,而指定的类对象因为是一个接口或是一个抽象类而无法实例化时,抛出该异常。
InterruptedException一个线程被另一个线程中断,抛出该异常。
NoSuchFieldException请求的变量不存在
NoSuchMethodException请求的方法不存在
NullPointerException空指针异常,调用了未经初始化的对象或者是不存在的对象
ArrayIndexOutOfBoundsException数组下标越界
ConcurrentModificationException并行修改异常,常在集合iteration遍历时操作remove操作发生
NumberFormatException数字格式化异常,在装箱与拆箱时调用valueOf(String s)时传入不对应的参数
1、常见的异常面试题 1.1 throw和throws的区别

答:
相同点: 都是异常处理的方式,都可以对异常进行处理
不同点:
1、位置:throws是在方法函数头,也就是方法的名字后面;throw是在方法体内部任意位置
2、运行:throws抛出的异常不一定会被执行到,而throw抛出的异常一定会被执行到

1.2 异常处理的几种方式

答:异常处理总共有三种方式:throw、throws、try…catch…finally(最常用)

1.3 常见的运行时异常有哪些,请列举

ArrayIndexOutOfBoundsException(数组下标越界异常)、StringIndexOutOfBoundsException(字符串下标越界异常)、CurrentmodificationException(线程操作异常)、NumberFormatException(数字转化异常)、NullPointerException(空指针异常)、ClassCastExcception(类型转化异常)、InterruptedException(中断异常)、SQLException(sql异常)……

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678449.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号