Java

[class] Java - Exceptions (= Try...Catch..) - 에러 제어 (= 익셉션 = 트라이...캐치... 구문) ※ 트라이캐치구문

1,366
목차
  1. Exceptions (익셉션) 정의
  2. try...catch... 구문
  3. finally 구문
  4. throw 키워드

 

Exceptions (익셉션) 정의

 

에러는 (의도적, 잘못 입력, 예측 불가 등) 여러 요인으로 생기는데,

Java는 프로그램 실행 중 에러 발생 시 멈춘 후 에러 메세지를 생성.

즉, 정상적 실행의 예외적 경우 (= 오류)를 다루는 기술을 의미함.

 

 

try...catch... 구문

[구문]

 

try {

  //  테스트 할 실행 코드

}

catch(Exception e) {

  //  에러 발생 시 실행할 코드

}

 

PS. try...catch... 구문은 쌍으로 함께 사용.


[에러 발생 시, try...catch... 구문으로 처리 안 하는 경우]

: Java의 기본 에러메세지가 그대로 노출됨. 

 

[예제] Hz.java

public class Hz {

  public static void main(String[] args) {

    int[] nums = {1, 2, 3};

    System.out.println(nums[5]); // 에러 유발.

  }

}

 

결과값:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 3

at Hz.main(Hz.java:4) 


[에러 발생 시, try...catch... 구문으로 처리하는 경우]

: 에러 발생 시, 사용자 정의 에러 메세지 출력 가능.

 

[예제] Hz.java

public class Hz {

  public static void main(String[] args) {

    try {

      int[] nums = {1, 2, 3};

      System.out.println(nums[5]);

    } catch (Exception e) {

      System.out.println("뭔가 에러 발생.");

    }

  }

}

 

결과값: 뭔가 에러 발생.

 

finally 구문

 

try...catch...구문 결과와 무관하게 그 이후에 실행할 코드 정의.

 


[예제] Hz.java

 

public class Hz {

  public static void main(String[] args) {

    try {

      int[] nums = {1, 2, 3};

      System.out.println(nums[5]);

    } catch (Exception e) {

      System.out.println("뭔가 에러 발생.");

    } finally {

      System.out.println("'try...catch...' 구문 종료.");

    }

  }

}

 

 

throw 키워드

 

사용자 지정 오류 생성.

 


 

 



분류 제목
class Java - Packages (패키지) / API
class Java - Inheritance (상속)
class Java - Polymorphism (다형성)
class Java - Inner Classes (내부 클래스)
class Java - Abstraction (추상화)
class Java - interface (인터페이스) ★
class Java - enums (이넘) - 상수 열거형 클래스
class Java - User Input (사용자 입력) - Scanner (스캐너) ★★★
class Java - Date/Time (날짜/시간)
class Java - ArrayList (어레이리스트) - 랜덤 접근 최적화 된 유사 배열
class Java - LinkedList (링크트리스트) - 반복 접근 최적화 된 유사 배열
class Java - HashMap (해시맵) - key=value 쌍의 유사 배열. (Python Dictionar…
class Java - HashSet (해시셋) - 유일값만 인정하는 유사 배열. ※ Python의 Set과 유사.
class Java - Iterator (반복자)
class Java - Wrapper Classes (랩퍼 클래스)
3/13
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 2
웹유틸
회원센터
홈짱닷컴 PC버전 로그인