Java异常

一句话:

代码出现异常,抛出错误
另外一个人抓到错误信息,显示错误

异常基础知识

在这里插入图片描述
在这里插入图片描述
其中Throwable类的方法:
在这里插入图片描述

捕获异常

try{
//一堆可能会出现问题的代码
}catch(Exception e){//或者exception的子类,自定义异常类
//捕获到异常后需要做的事
}

在这里插入图片描述

// 文件名 : ExcepTest.java
import java.io.*;
public class ExcepTest{
 
   public static void main(String args[]){
      try{
         int a[] = new int[2];
         System.out.println("Access element three :" + a[3]);
      }catch(ArrayIndexOutOfBoundsException e){
         System.out.println("Exception thrown  :" + e);
      }
      System.out.println("Out of the block");
   }
}

在这里插入图片描述
运行结果:

Exception thrown  :java.lang.ArrayIndexOutOfBoundsException: 3
Out of the block

在这里插入图片描述

Throw和Throws

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Finally

在这里插入图片描述

try-with-resources

在这里插入图片描述

自定义异常

1.写一个异常类,需要继承Throwable/Exception2.写一个方法/类,里面会出现自己所写的异常,
  并且如果出现了就throw出去,还需要throws抛到调用它的代码
3.调用该方法(放在try块),catchthrow过来的

示例:取钱系统
1.写一个异常类,需要继承Throwable类

package 异常;

public class MoneyNotEnough extends Throwable{
	int money;
	MoneyNotEnough(int m){
		this.money = m;
	}
	int getMoney() {
		return money;
	}
}

2.写一个方法/类,里面会出现自己所写的异常,
并且如果出现了就throw出去,还需要throws抛到调用它的代码

在这里插入图片描述

package 异常;

public class Bank {
	int money;
	public Bank(int m) {
		this.money = m;
	}
	void deposit(int m) throws MoneyNotEnough {
		int remain = money - m;
		if(remain >= 0) {
			money = remain;
			System.out.println("取钱成功,剩余" + money);
		}else {
			throw new MoneyNotEnough(remain);
		}
	}
}

3.调用该方法(放在try块),catch住throw过来的

package 异常;

public class Test {
	public static void main(String []args) {
		Bank b = new Bank(1000);
		try {
			b.deposit(500);
			b.deposit(600);
		}catch(MoneyNotEnough e) {
			System.out.println("取钱失败,还差"+e.getMoney()+"元");
			e.printStackTrace();
		}
	}
}

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值