用户自定义异常简介

来源:互联网 发布:淘宝buy 视频 编辑:程序博客网 时间:2024/05/22 04:46

通过继承Exception和Throwable来编写用户自己定义的异常类:

继承Exception的自定义异常类:

/** * 可以继承Exception或者Throwable * @author LiZhuo * */public class MyException extends Exception{/** *  */private static final long serialVersionUID = 1L;public MyException() {this.printStackTrace();}public MyException(String msg){System.out.println("异常信息:"+msg);this.printStackTrace();}public MyException(String message,Throwable cause){System.out.println(message);cause.printStackTrace();}}

测试类:

public class TestEception {public static void getNum(int money){try {if(money>10000){throw new MyException("取的超出了余额");}} catch (MyException e) {e.printStackTrace();}}public static void main(String[] args) {getNum(100001);}}

输出:


 

 

继承Throwable的自定义异常类:

public class MyThrowable extends Throwable{/** *  */private static final long serialVersionUID = 1L;public MyThrowable() {this.getMessage();this.printStackTrace();}public MyThrowable(String message){this.printStackTrace();System.out.println("异常信息为:"+message);}}


 

测试类:

public class TestThrowable {public static void getTime(int min)throws MyThrowable{if(min>60){//try {throw new MyThrowable("时间错误!");//} catch (MyThrowable e) {//e.printStackTrace();//}}else if(min<0){//try {throw new MyThrowable("时间错误!");//} catch (MyThrowable e) {//e.printStackTrace();//}}}public static void main(String[] args) {//getTime(61);try {getTime('a');} catch (MyThrowable e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


 

输出:

原创粉丝点击