자바 처리 이상

1558 단어 Java
사용자 정의 이상 클래스 의 하위 클래스 를 통 해 사용자 정의 이상 클래스 를 실현 하여 이상 을 더욱 유연 하 게 할 수 있 습 니 다.
throws 키 워드 는 방법 뒤에 따라 던 질 이상 유형 을 설명 합 니 다.
throws 이상 을 설명 하 는 방법 을 호출 하려 면 이상 처 리 를 해 야 합 니 다. (있 는 방법 으로 throws 를 호출 할 수 있 습 니 다) 그렇지 않 으 면 컴 파일 할 수 없습니다.
사용자 정의 이상 클래스 BankException. java
public class BankException extends Exception {
	String message;
	public BankException(int m,int n) {//构造方法,给message赋值
		super();
		message="in:"+m+"out:"+n;
	}
	public String wareMess() {//BankException.wareMess()返回错误信息
		return message;
	}	
}

Bank Exception 이상 클래스 던 지기 Bank. 자바
public class Bank {
    private int money=0;
    public void income(int m,int n) throws BankException{
        if(m<0||n>0||m+n<0) {
            throw new BankException(m,n);//使用throw抛出异常类的对象
        }
        int netIncome=m+n;
        System.out.println("income:"+m+" out"+n+" netIncome:"+netIncome);
        money+=netIncome;
    }
    public int getMoney() {
        return money;
    }    
}

테스트 클래스 TestCustomException. java
public class TestCustomException {

	public static void main(String[] args) {
		Bank bank=new Bank();
		try {
			bank.income(200, -100);
			bank.income(300, -200);
			bank.income(200, 100);//抛出异常,此处若不处理则不能通过编译,
			bank.income(400, -300);//不会被执行,上一句抛出了异常
		} catch (BankException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
			System.out.println(e.wareMess());
		}
                System.out.println(bank.getMoney());
         }
}

좋은 웹페이지 즐겨찾기