Notice
Recent Posts
Recent Comments
Link
관리 메뉴

데브마우스

[Java] 예외 발생하는 throw와 예외를 던지는 throws 정리 본문

Java/Java: 문법 정리

[Java] 예외 발생하는 throw와 예외를 던지는 throws 정리

데브마우스 2024. 1. 13. 20:11

예외 발생하는 throw

자바에서는 예외도 하나의 객체입니다. 그렇기에 고의적으로 예외를 생성할 수 있습니다.

예외를 발생하면 해당 메서드에서 예외가 발생됩니다.

public class Main {
	public static void main(String[] args) {
		try {
		Exception e = new Exception("고의 예외");
		throw e;
		} catch(Exception e) {
			e.printStackTrace(); // 출력:고의 예외
		}
	}
}

 

예외를 던지는 throws #예외 던지기

앞서 throw가 예외를 자기 자신이 처리했다면 throws는 예외를 자기 자신이 처리하지 않고 다른 메서드에서 예외를 처리하도록 합니다.

public class Main {
	public static void main(String[] args) {
		try {
			System.out.println("try 구문입니다.");
			method1st();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println("catch 구문입니다.");
			e.printStackTrace();
		}
	}

	public static void method1st() throws Exception {
		method2nd(); // method2nd를 호출합니다.
	}

	public static void method2nd() throws Exception {
		System.out.println("method2nd 입니다.");
		Exception e = new Exception();
		throw e;
	}
}

 

결론

개발자는 예외 처리를 어떻게 할 것인지 상황에 따라서 현명하게 선택해야합니다.