代码改变世界

自定义异常

2016-11-09 11:50  backyyan  阅读(235)  评论(0编辑  收藏  举报

前面所讲的异常主要用来处理系统可以预见的异常,定义他们为Expection。

对于某个应用程序特有的错误,则需要程序员根据程序的特殊逻辑在用户定义的程序中自己创建异常类和异常对象,称为自定义异常。

自定义异常必须是Expection的子类,必须从Expection继承。一般含有两个构造方法:一个是无参构造方法,一个是带一个字符串的构造方法。自定义异常创建格式如下:

class 自定义异常类名extends Expection{

构造方法(){

super()

}

构造方法(String s){

super(s);

}

}

 

自定义一个完整的异常类

package com.expection;

import java.io.BufferedReader;

import java.io.IOExpection;

import java.io.InputStreamReader;

public class Test4{

public static void main(String []args)throws IOExpection{

BufferedReader objBR=new BufferedReader(new InputStreamReader(System.in));

System.out.println("请输入数字:");

String strnum=objBR.readLine();

double dnum=Double.parseDouble(strnum);

if(dnum>=0)

System.out.println("这个数字是:"+dnum);

else{

try{

throw new MyExpection();

}

catch(MyExpection e){

e.printStackTrace();

}

}

}

}

class MyExpection extends Expection{

MyExpection()

{

super("数字小于0,错误");

}

public String toString()

{

return"发生异常,该程序中的数字不能为负值!";

}

}