学习记录分享(异常)

5.(自定义异常)创建两个自定义异常类MyException1和MyException2。
要求:
Ⅰ.MyException1为已检查异常,MyException2为运行时异常。
Ⅱ.这两个异常均具有两个构造函数,一个无参,另一个带字符串参数,参数表示产生异常的信息。

public class Test05 {

	public static void main(String[] args) {

	}

}

class MyException1 extends Exception {
	public MyException1() {}
	public MyException1(String message) {
		super(message);
	}
}

class MyException2 extends RuntimeException {
	public MyException2() {}
	public MyException2(String message) {
		super(message);
	}
}

6.(自定义异常)在上一题的基础上,把下面代码补充完整。

public class TestMyException {

	public static void main(String[] args) {
		int n;
		n = 1;// 读入n
		try {
			m(n);
		} catch (MyException1 ex1) {
			ex1.printStackTrace();// 输出ex1详细的方法调用栈信息
		} catch (MyException2 ex2) {
			ex2.getMessage();// 输出ex2的详细信息
			throw ex2;// 并把ex2重新抛出
		}

	}

	public static void m(int n) throws MyException1 {// 声明抛出MyException1
		if (n == 1) {
			throw new MyException1("n==1");// 抛出MyException1
			// 并设定其详细信息为“n==1”
		} else {
			throw new MyException2("n==2");// 抛出MyException2
			// 并设定其详细信息为“n==2”
		}
	}
}

class MyException1 extends Exception {
	public MyException1() {
	}

	public MyException1(String message) {
		super(message);
	}
}

class MyException2 extends RuntimeException {
	public MyException2() {
	}

	public MyException2(String message) {
		super(message);
	}
}

当n=1时:
在这里插入图片描述
当n=2时:
在这里插入图片描述
当n=3时:
在这里插入图片描述
8.(方法覆盖)有如下代码
在这里插入图片描述

import java.io.IOException;

class Super {
	public void ma() throws IOException {
	}
}

interface IA {
	void mb();
}

public class MySub extends Super implements IA {
	public void ma()//1   {}

	public void mb()//2   {}
}

在1处(AB),在2处(D)

10.(try-catch-finally)有如下代码

public class TestFinally {

	public static void main(String[] args) {
		System.out.println(ma());

	}

	public static int ma() {
		int b;
		b = 0;// 读入b
		try {
			int n = 100;
			return n / b;
		} catch (Exception e) {
			return 10;
		} finally {
			return 100;
		}
	}
}

//在ma中,当读入的b为100时,输出结果为(100),当读入的b为0时,输出结果为(100)。

12.(方法覆盖)
在这里插入图片描述
在这里插入图片描述
改正如下:

import java.io.*;

public class Test12 {

	public static void main(String[] args) {

	}

}

class MySuper {
	public void m() throws IOException {
	}
}

class MySub extends MySuper {
	public void m() throws EOFException {
	}
}

class MySub2 extends MySuper {
	public void m() throws FileNotFoundException {
	}
}
//EOFException和FileNotFoundException均为IOException的直接子类
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值