繼承Exception類
public class MyFirstException extends Exception{ public MyFirstException(){ } public MyFirstException(String msg){ super(msg); } public MyFirstException(String msg,Throwable cause){ super(msg,cause); } public MyFirstException(Throwable cause){ super(cause); } }
繼承Throwable類
public class MySecondException extends Throwable{ public MySecondException(){ } public MySecondException(String msg){ super(msg); } public MySecondException(String msg,Throwable cause){ super(msg,cause); } public MySecondException(Throwable cause){ super(cause); } }
插曲:
方法里中有throw的時候,方法名一定要有throws拋出異常
果然第一行拋出異常后就停止了,第二行TestOneTwoException.secondException()沒有執行
回來:
1.要有自己定義的異常類
2.要有方法拋出了這個異常,下面的firstException()和secondException()
3.有調用這個方法TestOneTwoException.firstException()
public class TestOneTwoException { public static void firstException() throws MyFirstException{ throw new MyFirstException("First異常"); } public static void secondException() throws MySecondException{ throw new MySecondException("Second異常"); } public static void main(String[] args) { try { TestOneTwoException.firstException(); } catch (MyFirstException e) { // TODO: handle exception System.out.println("11111"+e); } try { TestOneTwoException.secondException(); }catch(MySecondException e){ System.out.println("22222"+e); } } }