실행 예외

2022. 1. 27. 12:39·Language/Java

실행 예외는 자바 컴파일러가 체크하지 않기 때문에 오로지 개발자의 경험에 의해서 예외 처리 코드를 작성해야 한다. 만약 개발자가 실행 예외에 대해 예외 처리 코드를 넣지 않았을 경우, 해당 예외가 발생하면 프로그램은 곧바로 종료된다.

 

NullPointerException

자바 프로그램에서 가장 빈번하게 발생하는 실행 예외는 java.lang.NullPointerException이다. 이것은 객체 참조가 없는 상태, 즉 null 값을 갖는 참조 변수로 객체 접근 연산자인 도트(.)를 사용했을 때 발생한다. 객체가 없는 상태에서 객체를 사용하려 했으니 예외가 발생하는 것이다.

 

ArrayIndexOutOfBoundsException

배열에서 인덱스 범위를 초과할 경우 실행 예외인 java.lang.ArrayIndexOutOfBoundsException이 발생한다.

예를 들어 길이가 3인 int[] arr = new int[3] 배열을 선언했다면, 배열 항목을 지정하기 위해 arr[0]~arr[2]를 사용할 수 있다. 하지만 arr[3]을 사용하면 인덱스 범위를 초과했기 때문에 ArrayIndexOutOfBoundsException이 발생한다.

 

NumberFormatException

프로그램을 개발하다 보면 문자열로 되어 있는 데이터를 숫자로 변경하는 경우가 자주 발생한다. 문자열을 숫자로 변환하는 방법은 여러가지가 있지만 주로 다음 코드를 많이 사용한다.

리턴 타입 메소드 이름(매개 변수) 설명
int  Integer.parseInt(String s) 주어진 문자열을 정수로 변환해서 리턴
double  Double.parseDouble(String s) 주어진 문자열을 상수로 변환해서 리턴

Integer와 Double은 포장 클래스라고 하는데, 이 클래스의 정적 메소드인 parseXXX() 메소드를 이용하면 문자열을 숫자로 변환할 수 있다. 이 메소드들은 매개값인 문자열이 숫자로 변환될 수 있다면 숫자를 리턴하지만, 숫자로 변환될 수 없는 문자가 포함되어 있다면 java.lang.NumberFormaException을 발생시킨다.

저작자표시

'Language > Java' 카테고리의 다른 글

[JAVA] 컬렉션 프레임워크: List  (0) 2022.02.06
예외 처리 코드 (try - catch - finally)  (0) 2022.01.27
예외 클래스  (0) 2022.01.27
[JAVA] 람다식  (0) 2022.01.16
[JAVA] 인터페이스  (0) 2022.01.16
'Language/Java' 카테고리의 다른 글
  • [JAVA] 컬렉션 프레임워크: List
  • 예외 처리 코드 (try - catch - finally)
  • 예외 클래스
  • [JAVA] 람다식
soyeon26
soyeon26
  • soyeon26
    개발 일지
    soyeon26
  • 전체
    오늘
    어제
    • 분류 전체보기 (107)
      • Web (22)
        • Web (1)
        • HTTP (0)
      • Language (29)
        • Java Script (3)
        • Type Srcipt (1)
        • Java (25)
      • Front (19)
        • HTML+CSS (4)
        • React (15)
      • Back (41)
        • Spring(Springboot) (9)
        • JSP (21)
        • Database (5)
        • NestJS (6)
      • Devops (6)
        • Docker (1)
        • Git & SVN (5)
      • App (7)
        • Android (7)
      • IT 정보 (3)
  • 블로그 메뉴

    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SQL강의 추천
    Next.js 필요성
    springboot
    강의 후기
    중복제거
    csrvsssr
    과학기술인 번호 발급
    Java
    Spring
    데이터베이스 강의
    백엔드
    React
    자바스크립트set
    과학기술인 등록
    스프링부트
    javascript
    csr과ssr의 차이
    과학기술인 등록번호 발급
    SSR
    React Next.js
    sql강의
    과학기술인번호 조회
    프론트엔드
    김영한
    java의 정석
    서블릿
    인프런
    강의후기
    Next.js
    과학기술인등록번호 조회
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
soyeon26
실행 예외

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.