千锋学习的第27天:异常

千锋学习的27天:异常


五(自定义异常)创建两个自定义异常类MyException1和MyExecption2
要求:
1 MyException1为已检查异常,MyException2为运行时异常。
2 这两个异常均具有构造方法,一个无参,另一个有参,参数表示产生的异常信息

public class Testa {
	public static void main(String[] args){

		m1(10);
		try {
		m2(0);
		}catch(MyException1 i) {
			System.out.println(i.getMessage());
		}
	}	
	public static void m1(int n){
		int a=100;
			if(n==0) {
			throw new MyException2("请输入一个大于m1的值");
			}
			int result=a/n;			
	}
	public static void m2(int n)throws MyException1 {
		int a=100;
		if(n==0) {
			throw new MyException1("请输入一个大于m2的值");
		}
		int result=a/n;
	}
}
class MyException1 extends Exception{
	public MyException1() {}
	public MyException1(String getmessage) {
		super(getmessage);
	}
}
class MyException2 extends RuntimeException{
	public MyException2() {}
	public MyException2(String getmessage) {
		super(getmessage);
	}
}


六(自定义异常)在上一题的基础上,把下面代码补充完整
public class TestMyException{
public static void main(String args[]){
int n;
//读入一个N
try{
m(n);
}catch(MyException1 ex1){
//输出ex1 详细的方法调用栈信息
ex1.printstacktrace();
}catch(MyException2 ex2){
//输出ex2的详细信息
//并把ex2 重新抛出
System.out.println(ex2.getMessage());
throw new MyException();

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


八(方法覆盖)有如下代码
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)代码一个编译通过
A throws java.io.IOException
B throw java.io.FileNotFoundException,java,io,EOFExceoption
C.throws java.sql.SQLException
D.不能抛出异常


十(try-cath-fianlly)有如下代码
public class TestFianlly{
public static void main(String args[]){
System.out.println(ma());
}
public static int ma(){
int b;
//读入b
try{
int n=100;
return n/b;
}catch(Exception e){
return 10;
}finally{
return 100;
}
}
}
在ma 中。当读入的b为100时,输出结果为(100),当读入的b为0是,输出的结果为(100);


十二(方法覆盖)
import java.io.*;
class MySuper{
public void m()throws IOExcepion{}
}
class MySub extends MySuper{
public void m() throws EOFException{}
}
class MySub2 extends Mysub{
public void m()throws FileNotFoundException{}
}
以上代码是否能编译通过?如果不能,应该如何修改?
不能通过编译

修改MySub 类m() throws EOFException,FileNotFoundException{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值