package Practice;public class Exception22 {public static void main(String[] args) {try {startInstall(); // 프로그램 설치에 필요한 준비를 한다copyFiles(); //파일들을 복사한다deleteTempFiles(); // 프로그램 설치에 사용된 임시파일을 삭제한다.} catch (Exception e) {e.printStackTrace();deleteTempFiles();// 임시파일 삭제 도중 발생할 수 있는 예외처리}}static void startInstall() {// 프로그램 설치에 필요한 준비를 하는 코드를 적는다.}static void copyFiles() {} // 파일들을 복사하는 코드를 적는다.stat..
Finally블럭 1. 예외의 발생여부와 관계없이 실행되어야 하는 코드를 넣는다. 2. 선택적으로 사용할 수 있으며 , try – catch – finally의 순서로 구성된다. 3. 예외 발생 시 , try à catch à finally 의 순서로 실행되고 예외가 발생하지 않는다면 . try à finally의 순서로 실행된다. 4. Try or catch블록에서 return문을 만나도 finally블록은 수행된다.
예외의 발생과 catch블럭 1. 발생한 예외 객체를 catch블록의 참조변수로 접근할 수 있다. ㄱ. printStackTrace() : 예외발생 당시의 호출스택(Call Stack)에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다. ㄴ. getMessage() : 발생한 예외클래스의 인스턴스에 저장된 메시지를 얻을 수 있다.
예외의 발생과 catch블럭 1. try블록에서 예외가 발생하면 , 발생한 예외를 처리할 catch블록을 찾는다. 2. 첫번째 catch블록부터 순서대로 찾아 내려가며 , 일치하는 catch블록이 없으면 예외는 처리되지 않는다. 3. 예외의 최고 조상인 Exception을 처리하는 catch블록은 모든 종류의 예외를 처리할 수 있다.( 반드시 마지막 catch 블록이어야 한다 )
예외 발생시키기 1. 먼저 , 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든 다음 Exception e = new Exception (“고의로 발생”); 2. 키워드 throw를 이용해서 예외를 발생시킨다. Throw e;