본문 바로가기
언어/JAVA

예외 처리 방법(처리하기, 미루기) 2

by step 1 2021. 5. 23.
반응형

예외 처리 미루기

  • 예외 처리는 예외가 발생하는 문장에서 try-catch 블록으로 처리하는 방법과 이를 사용하는 부분에서 처리하는 방법 두 가지가 있다.
  • throws를 이용하면 예외가 발생할 수 있는 부분을 사용하는 문장에서 예외를 처리할 수 있음

각각 예외처리를 나눈 예시

package ch56;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class ThrowsException {
	
//	해당 메소드를 호출하는 쪽에서 Exception 처리를 한다
	public Class loadClass(String fileName, String className) throws FileNotFoundException, ClassNotFoundException {
		
		FileInputStream fis = new FileInputStream(fileName);
		Class c = Class.forName(className);
		
		return c;
	}
	
	public static void main(String[] args) {
		
		ThrowsException test = new ThrowsException();
		
		try {
			test.loadClass("a.txt", "java.lang.String");
			test.loadClass("a.txt", "abc");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
//			e.printStackTrace();
			System.out.println(e);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
//			e.printStackTrace();
			System.out.println(e);
		}
		System.out.println("end");
		
		
	}
}

 

여러 예외 처리를 한번에 처리

	try {
				test.loadClass("a.txt", "abc");
	} catch (FileNotFoundException | ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
	}

Exception 클래스를 활용하여 default 처리를 할 때 Exception 블록은 맨 마지막에 위치해야한다.

			try {
				test.loadClass("a.txt", "abc");
			} catch (FileNotFoundException | ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
반응형