第九章例题

例题1 

package 例题;
//算术异常例题
public class Baulk {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//尝试捕捉异常
		try{
			//定义Int型变量并赋值
		int result = 3 / 0;
		//输出变量
		System.out.println(result);
		//处理捕捉到的异常
	}catch(ArithmeticException e) {
		System.out.println("算术异常");
	}
	}
}

结果

例题2

package 例题;
//数字格式异常例题
public class Thundering {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//定义字符串
		String str = "lili";
		//提示信息
		System.out.println(str + "年龄是:");
		//类型转换
		int age = Integer.parseInt("20L");
		//输出信息
		System.out.println(age);
	}

}

 结果

 

 例题3

package 例题;

public class Take {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//尝试捕捉异常
		try {
		//定义字符串
				String str = "lili";
				//提示信息
				System.out.println(str + "年龄是:");
				//类型转换
				int age = Integer.parseInt("20L");
				//输出信息
				System.out.println(age);	
				//处理捕捉到的异常
		}catch(NumberFormatException e) {
			//e.printStackTrace();
			System.out.println("格式转换异常");
			//执行最后的代码块
		}finally {
			System.out.println("程序结束");
		}
		//System.out.println("program over");
	}

}

结果

例题4

package 例题;

public class Shoot {
	//定义静态方法
	static void pop()throws NegativeArraySizeException{
		//数组赋值
		int[]arr = new int[-3];
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//尝试捕捉异常
		try {
			//调用方法
			pop();
			//解决异常
		}catch(NegativeArraySizeException e) {
			//输出异常
			System.out.println("pop()方法抛出异常");
		}
	}

}

 结果

 例题5

package 例题;
//创建自定义类异常例题
//创建自己的类,继承Exception
public class MyException extends Exception{
	//创建构造方法
	public MyException(String ErrorException) {
		//调用父类构造方法
		super(ErrorException);
	}
}

无结果

例题6

package 例题;
//自定义类测试例题
//创建一个类
public class Tran {
	//定义方法,制造异常
	static int avg(int number1, int number2)throws MyException{
		//判断方法中参数是否满足指定条件
		if(number1 < 0 || number2 < 0 ) {
			//输出错误信息
			throw new MyException("不可使用负数");
		}
		//判断方法中参数是否满足指定条件
		if(number1 > 100 || number2 > 100) {
			//输出错误信息
			throw new MyException("数值太大了");
		}
		//将参数的平均值返回
		return (number1 + number2) / 2;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//捕捉异常
		try {
			//调用avg()方法
			int result = avg(102,150);
			//将返回的参数值输出
			System.out.println(result);
			//处理异常
		}catch(MyException e) {
			//输出异常信息
			System.out.println(e);
		}
	}

}

结果

例题7

package 例题;

public class MyException1 extends Exception{
	//定义变量
	String message;
	//定义有参构造方法
	public MyException1(String ErrorMessagr) {
		//参数赋值给变量
		message = ErrorMessagr;
	}
	//重写父类方法
	public String getMessage() {
		//返回变量
		return message;
	}

}

 无结果

例题8

package 例题;

public class Captor {
	//定义方法,且抛出异常
	static int quotient(int x, int y)throws MyException1{
		//定义条件
		if(y < 0) {
			//如果被除数小于0,就抛出异常
			throw new MyException1("除数不能是负数");
		}
		//返回x/y
		return x / y;
	}
	//主方法
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//尝试捕捉异常
		try {
			//调用方法
			int result = quotient(30, -5);
			System.out.println(result);
			//处理捕捉的异常,查看异常是否匹配
		}catch(MyException1 e) {
			//如果匹配,输出异常的信息
			System.out.println(e.getMessage());
			//处理捕捉的异常,查看是否匹配
		}catch(ArithmeticException e) {
			//如果匹配,输出异常信息
			System.out.println("除数不能为0");
		}catch(Exception e) {
			System.out.println("程序发生了其他异常");
		}
	}

}

结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值