[텍스트 게시판] 명령어에 "?"가 없으면 발생하는 예외 처리

이다혜·2023년 10월 28일
0

Java 텍스트 게시판

목록 보기
8/17

요구사항


  1. 종료 입력시 종료
  2. 등록 입력시 명언 등록
  3. 등록시 생성된 명언 번호 출력
  4. 등록할 때마다 명언번호 증가
  5. 목록 입력시 현재까지 생성된 명언 목록 출력
  6. 명언번호로 명언 삭제
  7. 존재하지 않는 번호로 삭제 시도시 예외 처리
  8. 명언 수정
  9. 파일을 통한 영속성
  10. json 파일 빌드

기존 코드 문제점


입력이 "수정?id=1"일 경우와 달리 "등록"이면 "?"가 포함되어 있지 않기 때문에 입력을 해체하는 작업을 할 때 예외가 발생한다.

Code


this.cmd = cmd;

        String[] cmdBits = cmd.split("\\?", 2);
        action = cmdBits[0].trim(); //삭제
        
        if(cmdBits.length == 1) {
            return;
        }
        
        queryString = cmdBits[1].trim(); //id=23&age=55

실행 결과


생성자에서 ?를 기준으로 문자열을 분해하고 배열로 저장하는 과정 후 ?가 없어서 배열의 길이가 1이면 바로 리턴해버려서 예외를 해결했다.

0개의 댓글