Java 예외

e의 비밀

수업소개

catch 문의 매개변수에 대해서 자세히 살펴봅니다. 

 

 

 

강의

 

 

 

소스코드

https://github.com/egoing/java-exception/commit/761f08795f7c9227842656da4847b36c7c70d93f 

public class ExceptionApp {
    public static void main(String[] args) {
        System.out.println(1);
        int[] scores = {10,20,30};
        try {
            System.out.println(2);
//            System.out.println(scores[3]);
            System.out.println(3);
            System.out.println(2 / 0);
            System.out.println(4);
        } catch(ArithmeticException e){
            System.out.println("계산이 잘못된 것 같아요."+e.getMessage());
            e.printStackTrace();
        } catch(Exception e){
            System.out.println("먼가 이상합니다. 오류가 발생했습니다. ");
        }
        System.out.println(5);
    }
}

 

댓글

댓글 본문
  1. 당당
    2023.04.17
  2. Min Jupiter
    23.01.03
  3. 나연
    2022년 2월 26일 (토) 완료

    `catch (Exception e)`
    - `e`는 변수, `e`의 데이터 타입은 `Exception`
    - `e.getMessage()`
    - `e.printStackTrace()`
    -- 운영 체제 차원에서는 프로그램을 실행했을 때 정상적으로 동작하지 않았다는 것도 우리가 알려줄 수 있는 기능
    -- 에러가 어디서 발생했고, 무엇으로부터 시작되었는지, 몇 번째 줄에 문제가 있었는지, 이러한 정보를 전달하는 데 사용
    -- `printStackTrace()`와 같은 에러 메시지는 사용자들에게 보여주는 게 좋은 건 아님
    --- 특히 서버 쪽 시스템이라면 메시지 안에 굉장히 심각한 보안적인 사고를 초래할 수 있는 단서들이 존재할 수 있음
    --- 그런 시스템에서는 절대로 에러 메시지를 사용자에게 보여주면 안 되고 그런 에러 메시지는 내부적으로 파일 같이 관리자들만 볼 수 있는 형태로 잘 갖추어 놓아야 함
    ---- 로깅 시스템
  4. 2021.09.01 완료
  5. boat
    감사합니다!
  6. oyuiw
    20201213
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기