방명록
- throw로 고의적 예외 발생2021년 03월 29일 10시 47분 17초에 업로드 된 글입니다.작성자: 원2728x90반응형
throw를 통해 고의로 예외를 발생. getMessage를 통해 예외객체 생성시 인자를 뭘 썼는지 알 수 있따. public class Ex8_6 { public static void main(String[] args) { try { Exception e = new Exception("고의로 발생시켰음"); // 예외가 만들어졌다. System.out.println("---------절취선 ---------"); throw e ; //예외를 발생시키다. // throw new Exception("고의로 발생기켰음"); 위의 두 줄을 한 줄로 만듬. } catch (Exception e) { System.out.println("에러 메세지 : " + e.getMessage()); e.printStackTrace(); } System.out.println("프로그램이 정상 종료되었음"); } }
checked 예외, unchecked 예외
checked 예외 // try catch문을 입력해야함. // 대형사고 불 지름 컴파일 조차 실행이 되지 않는다. public class Ex8_7 { public static void main(String[] args) { throw new Exception(); } }
unchecked 예외 // 소형사고 물 쏟음 컴파일은 되는데 예외 발생 public class Ex8_8 { public static void main(String[] args) { throw new RuntimeException(); } }
Test1 에서 실행 해버리고 만다. try -catch 를 사용하면 Test 1, Test 2 모두 출력한다. 메인에게 떠넘기기 public class Test001 { static void Test1() throws RuntimeException { System.out.println("난 테스트1"); throw new RuntimeException(); } static void Test2() throws Exception { System.out.println("난 테스트2"); throw new Exception(); // 던지는 법 } public static void main(String[] args) { try { Test1(); // 스테틱 영역은 인스턴스 객체를 만들어 줄 필요가 없기 때문에 바로 호출이 가능하다. } catch (Exception e) { } //Test2(); // 에러이유 try catch문이 없어서 try { Test2(); } catch (Exception e) { } } }
JVM에게 떠넘기기 : 최악의경우 // 프로그램 포기 해 버림; 자체적으로 해결하는게 가장 좋다. 728x90반응형'Language > Java' 카테고리의 다른 글
hashCode 와 identityHashCode (0) 2021.03.29 equals() (0) 2021.03.29 finally 블럭 (0) 2021.03.29 예외클래스의 계층구조 / printStackTrace 와getMessage (0) 2021.03.29 try - catch 문 기본 (0) 2021.03.29 내부 클래스의 제어자와 접근성 예제2 (0) 2021.03.26 다음글이 없습니다.이전글이 없습니다.댓글