千锋逆战班,异常习题②
程序员文章站
2024-01-28 16:53:46
...
在千锋学习的第27天
努力努力在努力,坚持坚持再坚持!!!加油
今天我学习了异常的方法重写,自定义异常
package ques5;
public class Test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
//已检查异常
class MyException1 extends Exception{
public MyException1(){}
public MyException1(String message){
super(message);
}
}
//运行时异常
class MyException2 extends RuntimeException{
public MyException2(){}
public MyException2(String message){
super(message);
}
}
package ques5;
public class Test5 {
public static void main(String[] args) {
int n=2 ;
try{
m(n);
}catch(MyException1 ex1){
System.out.println(ex1.getMessage());
ex1.printStackTrace();
}catch(MyException2 ex2){
System.out.println(ex2.getMessage());
throw ex2;
}
}
public static void m(int n) throws MyException1{
if(n == 1){
throw new MyException1("n == 1");
}else{
throw new 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);
}
}
1出填写AB 2出填写D
异常声明方法重写,子类方法的异常声明类型必须要和父类方法异常声明类型一致或者其子类,如果父类或实现的接口中方法没有声明异常,子类或实现类重写的方法也不能有任何异常声明,子类方法可以声明多个异常(符合前面规定的)中间用逗号隔开就可以
不能,MySub2种方法的声明类型不是父类中的声明异常类型子类,把声明的类型改成其本身,或者其子类就可
上一篇: github配置公钥以及文件的上传
下一篇: github的配置及其上传文件操作