1. throws 문법
throws문도 try ... catch문과 함께 쓰이는 문법이다.
이 throws문은 메소드를 호출할 때 예외처리를 한꺼번에 모아서 처리해주는 기능을 갖고 있다.
왜 한번에 모아서 처리를 할까.
예를 들어 메소드가 15개정도 있는 클래스가 있다고 가정을 해보자.
그런데 그 각각의 메소드에 비슷한 예외가 동시에 발생할 가능성이 있다.
그럼 우리는 메소드마다 찾아가서 try ... catch 문을 작성해야한다.
얼마나 번거로운 일인가.
그래서 사용되는 것이 바로 이 throws문이다.
이 throw문을 사용하여 한 곳에서 예외를 한번에 처리하게 되는 것이다.
throw와 햇갈리면 안된다.
throw는 강제적으로 예외를 발생시키는 목적이 있다.
강제로 예외를 발생시키는 이유는 예외를 한번 더 처리하기 위함이다.
이제 메서드에 기존 try ... catch 구문을 사용하는 모습과 throws 구문을 사용하는 모습을 비교해보며 살펴보자.
1) 각각의 메서드에 try ... catch를 직접 이용한 예외처리 하기
public void view() {
try {
int a=3/0;
} catch (Exception e) {
System.out.println(e);
} // end
} // view() end
public void disp() {
try {
int a=Integer.parseInt("KOREA");
} catch (Exception e) {
System.out.println(e);
} // end
} // disp() end
2) throws를 이용해서 예외 처리하기
public void view() throws Exception {
int a=3/0;
} // view() end
public void disp() throws NullPointerException, NumberFormatException {
int a=Integer.parseInt("KOREA")
} // disp() end
두 코드를 살펴보기만 해도 어떤 것이 더 간략하게 코드를 작성할 수 있는지 확인할 수 있을 듯 하다.
그러면 이 throws된 것을 어디서 처리하는가?
main() 함수로 넘어와서 한번에 처리하면 된다.
public class Test02_throws {
public static void main(String[] args) {
try {
Test test = new Test();
test.view();
test.disp();
} catch (Exception e) {
System.out.println(e);
} // end
} // main() end
} // class end
이렇게 되면 각각의 메서드에 try ... catch문을 작성하지 않고 한번만의 작성으로 예외 처리를 할 수 있게 된다.
'⁂ Java > : 기본 익히기' 카테고리의 다른 글
[JAVA] #9-4 제네릭(Generic) 이해하기 2 - 제네릭 (0) | 2022.09.16 |
---|---|
[JAVA] #9-3 제네릭(Generic) 이해하기 1 - 컬렉션 프레임워크 (0) | 2022.09.16 |
[JAVA] #9-1 예외처리(Exception) 1 - try...catch...finally (0) | 2022.09.16 |
[JAVA] #8-6 이너 클래스(Inner Class) (0) | 2022.09.15 |
[JAVA] #8-5 익명 내부 객체(Anonymous class) (0) | 2022.09.15 |