예외 되던지기(re-throwing) 1. 예외를 처리한 후에 다시 예외를 생성해서 호출한 메서드로 전달하는 것 2. 예외가 발생한 메서드와 호출한 메서드 , 양쪽에서 예외를 처리해야 하는 경우에 사용
package Practice;import java.io.*;public class Exception22 {public static void main(String[] args){try {File f = createFile(args[0]); // System.out.println(f.getName() + "파일이 성공적으로 생성되었습니다.");} catch (Exception e) {System.out.println(e.getMessage() + "다시 입력해 주세요");}}static File createFile(String fileName) throws Exception {if (fileName == null || fileName == "")throw new Exception("파일 이름을 확인해 주세..
package Practice; import java.io.*;public class Exception22 {public static void main(String[] args) {File f = createFile(args[0]); // command Line에서 입력 받은 값을 이름으로 갖는 파일을 하나 생성System.out.println(f.getName()+"파일이 성공적으로 생성되었습니다.");}static File createFile(String fileName) {try {if(fileName == null || fileName.equals(""))throw new Exception("파일이름이 유효하지 않습니다.");}catch(Exception e) { //파일의 이름이 정확하지 않을 ..
package Practice;public class Exception22 {public static void main(String[] args) {method1();}static void method1() {try {throw new Exception(); // 예외선언 }catch(Exception e) {System.out.println("예외처리가 발생하였습니다.");e.printStackTrace();}}//method1 끝 } 메모리 구조 main --> main에서 method1() 호출 --> method1호출 후 main
package Practice;public class Exception22 {public static void main(String[] args) throws Exception{method1(); // 같은 클래스내의 static 멤버이므로 객체생성없이 직접 호출가능. // main메서드의 끝}static void method1() throws Exception{method2(); // method1의 끝}static void method2() throws Exception{throw new Exception();// method2의 끝}} 컴파일 시켜보면 다음과 같은 코드가 나온다.Exception in thread "main" java.lang.Exceptionat Practice.Exception2..
메서드에 예외 선언하기 1. 예외를 처리하는 또 다른 방법 2. 사실은 예외를 처리하는 것이 아니라 , 호출한 메서드로 전달해주는 것 3. 호출한 메서드에서 예외처리를 해야만 할 때 사용 메서드에 예외선언을 할 경우에는 throws로 선언해야 한다 . 예외를 발생시키는 키워드 throw와 구별해서 써야 한다.