抛出异常及声明异常 自己定义一个异常

抛出异常用throw关键字同时只能抛出一个异常。抛出异常的时候有两种选择  直接try-catch抓取还有就是底层不解决异常,底层往上抛,在顶层解决异常,异常在底层表现不容易被顶层发现

java中通过throws声明某个方法抛出的各种异常,可以同时声明多个异常,用逗号隔开。声明异常只是表明有可能会有异常抛出。

public class CeShi{
	//声明异常类型  在此方法中不需要立马抓取  声明以后会让 上一层抓取
	public void cc() throws NullPointerException {
		//抛出异常   手动抛出  
		throw new NullPointerException("这是一个异常");
	}

	public static void main(String[] args) {
		CeShi c = new CeShi();
		//抓取异常
		try {
			c.cc();
			//显示异常
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}
}

Throwable是异常Exception和错误Error的父类

Error是仅靠程序本身无法恢复的严重错误

Exception是由java应用程序抛出和处理的非严重错误。分为checkedException和RuntimeException。

CheckedException属于程序必须马上处理的异常 过不了编译

RuntimeException是运行时异常不要求程序马上处理且可以通过编译。


五种常见运行时异常:

NullPointerException                                                    空指针异常

ArithmeticException                                                      除零异常(零不能做除数)

ArrayIndexOutOfBoundsException       数组越界异常

ClassCastException       构造方法异常

RuntimeException       运行时异常


自定义异常

何时需要自定义异常?

当JDK中的异常类型不能满足程序的需要时,可以自定义异常。(一般自定的时候都是需要异常帮程序做一些事情的时候)

1、定义一个异常2、编写构造方法继承父类的实现3、实例化自定义异常类型4、使用throw抛出

自定义异常的情况在一些项目中会用到很多 一般继承的时候都会选择Exception和RuntimeException

//RuntimeException   运行时异常
public class MyException extends RuntimeException{
	//自定义异常
	public MyException(int string) {
	}

	public MyException(){
		System.out.println("这是我的异常");
	}
	public MyException(String i){
		System.out.println("这是我的异常");
	}

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值