java基础 day15-----异常

1.什么是异常?

  1. 概念:程序在运行过程中出现的不正常的现象。出现异常不处理将终止程序运行。
  2. 异常处理的必要性:任何程序都可能存在大量的未知的问题、错误;如果不对这些问题进行正确的处理,则可能导致程序的中断,造成不必要的损失。
  3. 异常处理:Java编程语言使用异常处理机制为程序提供了异常处理的能力。

2、异常处理的分类

Throwable:可抛出的,一切错误或异常的父类,位于java.lang包中。(分为错误Error和异常Exception)

  1. Error:JVM、硬件、执行逻辑错误,不能手动处理(StackOverflowError、OutOfMemoryError)
  2. Exception:程序在运行和配置中产生的问题,可处理。(RuntimeException:运行时异常,可处理,可不处理;CheckedException:检查时异常,必须处理)【重点】

运行时异常:RuntimeException以及其子类
检查时异常:Exception以及子类,除了RuntimeException

3、常见运行时异常
NullPointerException:空指针异常
ArrayIndexOutOfBoundsException:数组越界异常
ClassCastException:类型转换异常
NumberFormatException:数字格式化异常
ArithmeticException:算数异常

//NullPointerException
		String name=null;
		System.out.println(name.equals("张三"));

//ArrayIndexOutOfBoundsException
		int []arr= {10,32,343};
		System.out.println(arr[3]);
	//ClassCastException
		Object str="hello";
		Integer i=(Integer)str;
		System.out.println(i);
//NumberFormatException
		int n=Integer.parseInt("100a");
		System.out.println(n);
	//ArithmeticException
		int n=10/0;
		System.out.println(n);

4.异常处理
try:执行可能产生异常的代码
catch:捕获异常,并处理
finally:无论是否发生异常,代码总能执行
throw:手动抛出异常
throws:声明方法可能要抛出的各种异常

5.自定义异常
步骤1:新建一个异常类,让其继承异常类Exception或RuntimeException
步骤2:在你觉得有异常的地方抛出这个异常即可

6.带有异常声明的方法覆盖
子类中的方法:不能抛出比父类更多、更宽的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值