[Error] java.lang.NumberFormatException

yihyun·2024년 10월 1일

에러 ❌

목록 보기
2/7

발생한 에러
java.lang.NumberFormatException: For input string: "subject"

숫자로 변환할 수 없는 문자열을 숫자로 변환하려고 시도했을 때 발생하는 예외로,

  • Integer.parseInt()
  • Long.parseLong()
  • Double.parseDouble()

등과 같은 메서드를 사용할 때 숫자로 변환할 수 없는 문자열을 입력으로 받으면 발생한다.

해결방법

  • 숫자로 변환하기 전에 입력 값 검증
  • try-catch로 예외 처리
  • 기본 값 처리
  • 공백 제거

등이 있다.

내가 작성하는 프로젝트의 문제 원인은 다음과 같다.
문제원인

  • 단일 게시글 조회 시 잘못된 반호나 타입을사용했다.
    JSP에서 단일 객체로 처리할 때: JSP에서는 detail이라는 단일 객체로 데이터를 접근하고 있는데, 실제로는 리스트(List) 형태로 반환되면 JSP에서 적절하게 처리하지 못해 오류가 발생했다.

DAO 에서 mapper 로 요청하는 메서드에서 List<BoardDTO> 형태로 요청을 했기 때문에 null 값이 발생했던 것이었고,
반환 타입을 BoardDTO 로 수정하니 에러는 해결되었다.

profile
개발자가 되어보자

0개의 댓글