본문 바로가기
(혼) (공) (자)

throws

by 만석이 2024. 1. 23.
1. 메서드 내부에서 예외가 발생하였을때 바로 처리하지않고, 해당 메서드를 호출한 쪽에서 예외를 처리한다.

2. 메서드 뒤에 throws 키워드를 사용하여 던지기를 할 예외 객체를 붙여주면 된다.

3. 예외 객체는 여러 개를 던질수있으며, 여러개를 던질시 콤마로 구분해서 나열한다.

 

 

바로 예제를 보자

public class ThowsExceptionExample {

//성격 유형검사를 위한 메서드 
public static void checkYourSelf(Scanner scan) throws InputMismatchException{
System.out.println("1. 사람과 어울리는것이 좋다. 2. 혼자있는것이 좋다");
System.out.println("선택 : ");
int check = scan.nextInt();

if(check ==1) {
System.out.println("당신은 ENFP");
}else {
System.out.println("당신은 INJFP");
}

}


public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
try {
 System.out.println("======성격유형 검사를 시작합니다.======");
 //메서드 호출
 checkYourSelf(scan);
} catch (InputMismatchException e) {
System.out.println("키보드입력이 잘못되었습니다.");
}
}
}

 

1. checkYourSelf 메서드는 Scanner scan 을 매개변수로 받는다. 그리고 입력값에 대한 오류처리를 InputMismatchException에게 넘긴다.(호출한쪽에서 오류를 잡는다.)

 

2.정수를 입력하면 아무런 오류가 발생하지않지만 실수 또는 문자등을 사용하면 오류가 발생한다.

 

3. catch (InputMismatchException e) {
System.out.println("키보드입력이 잘못되었습니다.");
}

 

를 사용해서 범위 밖의 모든 값들은 "키보드입력이 잘못되었습니다." 로 출력하게 만든다. 
이것을 구분지어주는것이 바로 InputMismatchException e 이다.

'(혼) (공) (자)' 카테고리의 다른 글

사용자 정의 예외처리  (0) 2024.01.24
강제예외처리  (0) 2024.01.23
finally  (1) 2024.01.23
try-catch  (0) 2024.01.22
예외종류  (0) 2024.01.22