异常的处理

异常处理

异常的处理:try/catch

1.语法结构

try{
可能发生异常的代码
}catch(异常的类型1 异常名称){
捕获到该异常,处理的代码
(1)什么也不做
(2) 打印异常
(3)其他
}catch(异常的类型2 异常名称){

}

执行的特点;
(1)如果try\中的代码没有发生异常,那么久不会进入到catch中去,而是直接把程序运行完.
(2)如果try中的代码发生了异常
A:有catch可以捕获它,那么符合那个就进入到catch的那个异常的捕获是按顺序的,先捕获写在前面的异常
说明:多个catch有要求,必须小的类型先catch来捕获,大的类型后用catch捕获

 B:所有的catch都没有捕获到异常,那么就将异常抛给上层调用者.
 如果没有catch,当前方法结束,回到上级调用者 去处理.

做一个异常练习
从控制台输入两个数,做除法的异常处理

/**
 * 
 */
package per.leiyustudy.throwable;

import java.util.Scanner;

import org.hamcrest.internal.ArrayIterator;
/**
 * @author 雷雨
 *
 */
public class TestThrowType {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner sca = new Scanner(System.in);
		String  a = sca.next();
		String b = sca.next();
		
		try {
			int bei = Integer.parseInt(a);
			int chu = Integer.parseInt(b);
			System.out.println("被除数是"+bei);
			System.out.println("除数是"+chu);
			int shang  = bei/chu;
			System.out.println("商是"+shang);
		} catch (NumberFormatException e) {
			// TODO 自动生成的 catch 块
			System.out.println("输入的数字类型不为整数");
		}catch(ArithmeticException e) {
			System.out.println("除数不能为0");
		}catch(ArrayIndexOutOfBoundsException e) {
			System.out.println("参数的个数少于两个");
		}catch(Exception e) {
			System.out.println("捕获了其他的所有异常");
		}

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炒冷饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值