package test_9;public class MyException extends Exception{
public MyException(String s){
super(s); //调用父类的构造方法
}
public MyException(){
this("");
}
}
package test_9;public class Student {
private int m;
public void speak(int m){
try{
if(m<=1000) this.m=m;
else throw new MyException("数值有误,超过1000LE !");
}catch(MyException e){
System.out.println("数值有误,超过1000!");
}
}
}
以上为源码!
在第一个自定义的异常类中,为何异常类中的异常方法在出现异常后不会执行?
throw new MyException("数值有误,超过1000LE !");
这个语句中括号内的自定义文本内容是用来干嘛的,捕获异常后这个文本也不会被打印。
public MyException(String s){
super(s); //调用父类的构造方法
}
public MyException(){
this("");
}
}
package test_9;public class Student {
private int m;
public void speak(int m){
try{
if(m<=1000) this.m=m;
else throw new MyException("数值有误,超过1000LE !");
}catch(MyException e){
System.out.println("数值有误,超过1000!");
}
}
}
以上为源码!
在第一个自定义的异常类中,为何异常类中的异常方法在出现异常后不会执行?
throw new MyException("数值有误,超过1000LE !");
这个语句中括号内的自定义文本内容是用来干嘛的,捕获异常后这个文本也不会被打印。
如果是输入异常如何判断,如要求输入数字但是输入了字母,如何判断?
1、你那字符串入参是异常的概要描述,可能过异常实例的e.getMessage()方法得到
2、异常的使用主要好处是你不知道何处扔出来的问题,但异常类可以帮你找到源头,也就是e.printStackTrace()
你不觉得这个很好用吗:
dmiaes.client.view.MyException: 数值有误,超过1000LE !
at dmiaes.client.view.Student.speak(Student.java:11)
at dmiaes.client.view.Student.main(Student.java:20)