정수를 입력하는 코드를 짠뒤 실수를 입력해 보았다.
에러가 났다는 표시가 뜬다.
에러는 아래에서 부터 시작해서 위로 올라간다.
제일 아래에 있는 에러를 클릭해보니 test.start(); 가 나온다.
그다음은 int number = input.nextInt(); 줄이 나온다.
start 메소드 안에 Scanner에서 에러(Exception)가 났음을 알 수 있다.
java.util.InputMismatchException 에러는 거의 Scanner에서 Exception이 나오는 것을 기억하자.
자주나오는 예외
InputMismatchException : Scanner 사용때 발생
ArithmeticException : 0으로 나눌때 발생
NullPointerException :
ArrayOutofBoundException
NumberFormatException : 문자를 숫자로 바꿀때 발생
FileNotFoundException
예외처리 방법
< try - catch > 에 switch를 접목시켜보았다.
while ( true ) 를 이용하여 사용자가 정수를 입력할 때가지 반복한다.
try 에서 정수를 입력받고 첫번째 정수를 제대로 입력했을 시 currentStatus를 이용해 다음 정수를 입력 받도록 해준다.
정수를 입력하지 않았을 시엔 catch로 넘어가 Scanner를 다시 선언해주고
ime.getClass().getName() : java.util.InputMismatchException
ime.getMessage() : null 를 출력한뒤 다시 switch문을 돈다.
결과창은 다음과 같다.
'Back-end > Java' 카테고리의 다른 글
JAVA Hash Map ( 단어장 프로그램 ) (0) | 2016.01.25 |
---|---|
예외 ( Exception ) 2 (0) | 2016.01.25 |
method 3 ( 담배파는 편의점 ) (0) | 2016.01.22 |
컬렉션 프레임워크 ( list ) (0) | 2016.01.22 |
오버로딩(Overloading) (0) | 2016.01.21 |