2013-05-08 6 views
0

내 과거의 시험 용지 질문 중 하나는 IllegalArgumentException이 발생하는 방식으로 메서드를 수정해야합니다.강제 IllegalArgumentException

방법은 단순히 은행 계정 잔액 여기

에서 돈을 인출 포함이 작업을 수행하는 방법입니다.

public void withdraw(double ammount) { this.balance -= ammount; }

나는이 예외가 발생하기 위해이 방법을 수정하는 방법

? 전에는이 예외를 본 적이 없습니다.

답변

1

는 예외가 throw으로 던져 질 수 있습니다

throw new IllegalArgumentException("Amount must be positive."); 

당신은 방법을 자신의 나머지 부분을 작성해야합니다.

0

예외를 throw하려면 throw 명령을 사용하고 Exception 인스턴스 (예외도 클래스 임)를 전달합니다. 이처럼

: e는 예외입니다

throw e; 

. 이 구문은 Java 및 C#과 동일합니다.

그래서 IllegalArgumentException을 던지려면 먼저 인스턴스를 만든 다음 그 인스턴스를 던집니다.

public void withdraw(double amount) 
{ 
    if (this.balance < amount) 
    { 
     IllegalArgumentException iae = 
      new IllegalArgumentException("Invalid amount. You're broke."); 
     throw iae; 
    } 
    else this.balance -= amount; 
} 

다음 단계에서는 try-catch-finally 블록에 대해 읽으십시오.

+0

나는 예외를 던지려고 아니야, 나는 IllegalArgumentException 오류가 발생하도록 노력하고있어. 에서와 마찬가지로 ArrayOutOfBoundsException이있는 경우 콘솔에는이 예외가있는 빨간색 텍스트가 표시됩니다. – Shaun

+0

다음을 나타내는 질문을 편집하십시오. – Renan

+0

죄송합니다. 나는 거기서 잘못된 상황에서 "던짐"을 사용했다. – Shaun

관련 문제