자바의 정석

· Java
예외 되던지기 한 메서드에서 발생할 수 있는 예외가 여럿인 경우, 몇 개는 try-catch문을 통해서 메서드 내에서 자체적으로 처리하고, 그 나머지는 선언부에 지정하여 호출한 메서드에서 처리하도록 함으로써, 양쪽에서 나눠서 처리되도록 할 수있다. 이것은 예외를 처리한 후에 인위적으로 다시 발생시키는 방법을 통해서 가능하다. 예외가 발생할 가능성이 있는 메서드에서 try-catch문을 사용해서 예외를 처리해주고 catch문에서 필요한 작업을 행한 후에 throw문을 사용해서 예외를 다시 발생시킨다. 다시 발생한 예외는 이 메서드를 호출한 메서드에게 전달되고 호출한 메서드의 try-catch문에서 예외를 또 다시 처리한다. static void method1() throws Exception { try {..
· Java
사용자 정의 예외(Exception) 만들기 기존의 정의된 예외 클래스 외에 필요에 따라 프로그래머가 새로운 예외 클래스를 정의하여 사용할 수 있다. 보통 Exception 클래스로부터 상속받는 클래스를 만들지만, 필요에 따라 알맞은 예외 클래스를 선택할 수 있다. class MyException extends Exception { private final int ERR_CODE; MyException(String msg, int errCode) { // 오류 메시지와 오류 코드를 매개변수로 받는 생성자 super(msg); // 조상인 Exception 클래스의 생성자를 호출 this.ERR_CODE = errCode; } MyException(String msg) { this(msg, 100); } ..
· Java
예외 발생시키기 키워드 throw를 사용해서 프로그래머가 고의로 예외를 발생시킬 수 있다. try { // Exception e = new Exception("예외를 발생시킴"); // throw e; throw new Exception("예외를 발생시킴"); // 메시지 지정 } catch (Exception e) { e.printStackTrace(); } 만일 예외처리가 되어있어야 할 곳에 처리가 되어있지 않으면 컴파일 조차 실행되지 않을 수 있다. RuntimeException 같은 경우는 예외 처리를 하지 않아도 컴파일이 가능하다. throw new Exception(); // 컴파일 에러 발생 throw new RuntimeException(); // 컴파일 에러가 발생하지 않음 예외 처리하기..
· Java
메서드(Method)에 예외(Exception) 선언하기 메서드 선언부에 키워드 throws를 사용해서 메서드 내에서 발생할 수 있는 예외를 선언할 수 있다. 예외가 여러개일 경우 쉼표(,)로 구분한다. 이런 경우 예외가 처리된것이 아니고 단순히 전달만 하는 것이다. void method() throws Exception1, Exception2 { ... } 이렇게 예외를 선언하면 자손타입의 예외까지도 발생할 수 있다는 점을 주의해야 한다. 그렇게 때문에 try-catch문을 사용해 중간에 예외 처리가 되어야 한다. 오버라이딩할 때는 단순히 선언된 예외의 개수가 아니라 상속관계까지 고려해야 한다. // try-catch문을 사용하지 않았을때 public static void method1() throws..
beekei
'자바의 정석' 태그의 글 목록