-
예외 선언하기
메서드에 예외를 선언하는 경우가 있다.
이런 경우는 이 예외를 처리하려는 것이 아니라 이 메서드를 호출할 경우 예외에 조심하라는 뜻이다.
즉 이 메서드를 호출하려면 선언된 예외를 처리할 수 있는 try - catch 문을 작성하라는 것이다.
예외 선언하는 법
일반 메서드를 작성할 때 파라미터 뒤에 'throws'를 붙이고 예외 처리해줄 예외들을 적어준다.
각 예외들은 쉼표를 기준으로 여러개를 적어줄 수 있다.
접근제어자 + 반환값 + 메서드명 ( ) throws Exception1, Exception2, Exception3....{ };
예외 선언한 메서드 사용법
예외를 선언한 메서드를 만드는 이유는 해당 메서드 호출시 예외를 신경써서 처리하라는 뜻이다.
즉 이거 호출하려면 try - catch를 꼭 하라고 떠넘기는 것이다.
그래서 아래코드처럼 메서드를 호출할 때 try - catch를 적용해야 에러없이 사용할 수 있다.
public static void main(String[] args) { Test_E A = new Test_E(); // 클래스 'Test_E' 객체 생성 try { // try 선언 A.test(); // 클래스 'Test_E'의 'test' 메서드 호출 } catch (Exception a) { // catch에서 Exception 예외 처리 System.out.println("예외 선언 예제2입니다."); } } class Test_E { // 일반 클래스 'Test_E' 선언 void test() throws Exception { // 메서드 'Exception' 선언 System.out.println("예외 선언 예제입니다."); } }
예외 서로 떠넘기기
메서드에서 예외 선언을 하면 해당 메서드를 호출하면 try - catch를 적용해야된다고 이야기했다.
하지만 반대로 메서드에서 먼저 try - catch를 적용하고 그 뒤에 호출하는 방법도 있다.
그리고 양쪽에서 서로 모두 예외를 처리할 수도 있다.
상황에 따라서 맞는 방법을 찾아서 처리한다.
'백엔드 > 자바' 카테고리의 다른 글
java.lang 패키지 - Object 클래스 (0) 2020.08.11 예외에서 finally 블럭 (0) 2020.08.11 예외 일으키기 (0) 2020.08.11 예외 처리하기 try - catch 문 (0) 2020.08.11 오류와 예외(Error, exception) (0) 2020.08.11