Java学习笔记之自定义异常

时间:2023-03-09 13:33:20
Java学习笔记之自定义异常

1.自定义异常类:

/**
* 自定义异常,只要继承继承Exception类或其子类即可
* @author Administrator
*
*/
public class FileException extends Exception {
/*public FileException(){ }
public FileException(String gripe){
//super(gripe);
}*/
public void printStackTrace(){
System.out.println("suohai");
}
}

2.抛出异常:

class Text{
public static void t() throws FileException{
/*
* 调用t(),必须捕捉这异常,需要在别的类中接受这异常,就得throws Exception
* throws FileException且别的类调用时,必须使用try...catch语句,不管能不能捕获,
* 即在此方法中已经捕获这个异常,但并没有再次抛出,调用此方法的类并不会捕获这异常,依然要try...catch
*/
/**
* 可以只在方法中抛出异常,在调用方法时捕捉异常
* 也可以直接在方法内捕捉异常,即不用try...catch语句,
* 直接抛出异常:throw new FileException("hehe");
*/
try{
throw new FileException();//抛出异常,调用FileException类的构造方法
}catch(FileException e){
System.out.println("呵呵");
throw e;//要想在方法外面再次捕捉这异常,需要再次抛出,因为在外面调用方法时,永远都会被方法内的捕获。
}
}
}

3.捕获异常:

public class ExceptionTest {

    public static void main(String[] args) {
/**即便不会捕获这个异常,
*也需要使用try...catch语句
**/
try {
Text.t();
}
/*catch (FileException e) { System.out.println("啊哈");
} */
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }


4.运行结果:
呵呵
suohai