본문 바로가기

개발자노트

예외처리 - InputMismatchException

우리가 예외처리를 잡고 있을 때, InputMismatchException 즉, Scanner(System.in) 으로 받은 input 값이 형식과 mismatch 됐다는 오류인데, catch를 했는데도 불구하고, 무한루프가 걸리는 때가 발생할 것이다.

이는 return으로 즉시 종료를 시키는 방법도 있지만, 우리는 정확한 입력값을 받을 때 까지 다시 입력을 받는 상황을 만들고 싶을 땐 아래처럼 하면 된다.

 

즉 , int num에 들어가지 못하고, 버퍼에 남아있어서 입력을 계속해서 하는 것으로 인식하여서

이렇게 sc.nextLine() 을 사용하여 버퍼 안에서 매칭되지 못한 문자열을 증발 시키면 된다.