level 4 키오스크 과제 트러블슈팅

SIHA·2025년 1월 15일

고민했던 부분1: nextInt()의 예외처리 (level3)

전의 프로젝트에서 IllegalArgumentException을 사용했던 것처럼 Scanner의 nextInt()로 입력값을 받았을 때, 이에 대한 예외처리가 이미 있을 것 같아 찾아봤다.

Throws:
InputMismatchException - 다음 토큰이 정수 정규식과 일치하지 않거나 범위를 벗어난 경우 (정수가 아닌 경우)
NoSuchElementException - 입력이 소진된 경우
IllegalStateException - Scanner가 닫혀있는 경우
IllegalArgumentException - 진법(radix)가 범위를 벗어나는 경우


또, 경고문만 출력할 경우, 입력값이 남아 있어 start()와 그 안의 catch가 계속 반복되는 문제가 있어, sc.nextLine()으로 입력을 제거해줘야 했다.


참고

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Scanner.html#nextInt()

profile
뭐라도 해보자

0개의 댓글