자바/자바 문법

자바 try-catch

Blue_bull 2025. 1. 14. 15:21
package ch08exception;

public class MyException01 {
    public static void main(String[] args) {
        int x =3, y=0;
        int[] arr = {10,20,30};

        try{
            arr[3] = 50;
            System.out.println(x/y);

        }catch(ArithmeticException ex){
            System.out.println("0으로 나누면 안돼요....");
        }catch(ArrayIndexOutOfBoundsException ex){
            System.out.println("문자열 : " + ex.toString());
            System.out.println("메시지 : " + ex.getMessage());
            System.out.println("배열 요소 번호 초과");
            ex.printStackTrace();

        }catch(Exception ex){
            System.out.println("기타 나머지 예외 발생");
        }finally {
            System.out.println("이 구문은 예외 발생여부와 상관없이 무조건 실행됩니다.");
            System.out.println("파일 닫기 또는 데이터베이스 접속 종료시 많이 사용됩니다.");
        }
    }
}
  1. try-catch
    try{}catch(){}fially{}
  • 아래와 같은 형식으로 만든다.
  • catch()는 여러개 사용할 수 있다.
  • fially는 선택사항이지만 사용하는 것을 권장한다.

  1. 예외 객체, 0으로 나눴을 때 발생하는 예외
    }catch(ArithmeticException ex){ //ArithmeticException는 0으로 나눴을 때 발생하는 예외. ex는 예외 객체이다.
     System.out.println("0으로 나누면 안돼요....");
    • ex를 예외 객체라고 부르며, err 또는 e로 많이 표현한다.
    • 클래스 객체 = new 생성자(); 예외가 발생하여 catch가 받을 때 생성자가 실행된다. catch가 받기 전에 예외 객체는 null 상태이다.

  2. printStackTrace() 메서드
    • ex.printStackTrace(); //이건 잘 기억해야함. 적어주는 것이 좋음.
    • 예외(Exception)나 오류(Error)가 발생했을 때 스택 추적(Stack Trace)을 출력하는 데 사용된다.
  3. 모든 예외의 슈퍼클래스
    }catch(Exception ex){ 
             System.out.println("기타 나머지 예외 발생");
    • Exception은 모든 예외의 슈퍼클래스이다. 모든 예외를 받을 수 있다.
  4. finally
    }finally {
     System.out.println("이 구문은 예외 발생여부와 상관없이 무조건 실행됩니다.");
     System.out.println("파일 닫기 또는 데이터베이스 접속 종료시 많이 사용됩니다.");
    • 파일 열기는 아님. finally는 접속을 끊을 때 사용. 즉, 마무리 작업할 때 쓴다. fially는 옵션이지만 사용을 강력 권장한다.

'자바 > 자바 문법' 카테고리의 다른 글

중복 선언 오류  (3) 2025.01.15
자바 throw 키워드 기초 이해.  (0) 2025.01.14
컬렉션 Map의 값 여러 개 넣는 법.  (0) 2025.01.13
증감 연산자 팁  (0) 2024.12.31
Main 메서드  (0) 2024.12.27