[IT]/java
java.Exception Handling(예외 처리).finally
givemebro
2021. 3. 9. 17:45
반응형
finally
예외 발생 여부와 관계없이 항상 실행
비정상 종료시에도 finally는 실행 됨
ex)입출금기에서 에러 혹은 예외가 발생해도 카드를 반환해줘야 할 때 사용
package step3;
public class TestException5 {
public static void main(String[] args) {
// 코드 실행 결과 예상
String age = "21";
// age = "스물한살";
try {
int intAge = Integer.parseInt(age);// 문자열을 정수로 변환
System.out.println(intAge + 1);// 22
} catch (NullPointerException ne) {
System.out.println("b");// 실행 안 됨
} catch (NumberFormatException nf) {
System.out.println("a");
} finally {// 항상 실행
System.out.println("f");
}
System.out.println("c");
}
}
/*
22
f
c
*/
package step3;
public class TestException5 {
public static void main(String[] args) {
// 코드 실행 결과 예상
String age = "21";
age = "스물한살";
try {
int intAge = Integer.parseInt(age);// 문자열을 정수로 변환
System.out.println(intAge + 1);// 22
} catch (NullPointerException ne) {
System.out.println("b");// 실행 안 됨
} catch (NumberFormatException nf) {
System.out.println("a");
} finally {// 항상 실행
System.out.println("f");
}
System.out.println("c");
}
}
/*
a
f
c
*/
예외 처리하지 않아도 실행
package step3;
public class TestException5 {
public static void main(String[] args) {
// 코드 실행 결과 예상
String age = "21";
age = "스물한살";
try {
System.out.println(3/0);
int intAge = Integer.parseInt(age);// 문자열을 정수로 변환
System.out.println(intAge + 1);// 22
} catch (NullPointerException ne) {
System.out.println("b");// 실행 안 됨
} catch (NumberFormatException nf) {
System.out.println("a");
} finally {// 항상 실행
System.out.println("f");
}
System.out.println("c");
}
}
/*
f
Exception in thread "main" java.lang.ArithmeticException: / by zero
at step3.TestException5.main(TestException5.java:10)
*/
package step2;
import java.io.FileNotFoundException;
import java.io.FileReader;
class MemoService {
// throws : 호출한 측으로 예외 발생시 해당 Exception 객체를 전달하겠다는 의미
public void readMemo(String filePath) throws FileNotFoundException {// throws Exception : Exception전체를 넘김/여러개의
// Exception 넘길 수 있음
try {
FileReader fr = new FileReader(filePath);
System.out.println(filePath + "의 파일 정보를 읽는 작업을 수행");
} finally {
System.out.println("항상 실행해야 하는 부분은 finally로 처리");
}
}
}
public class TestThrows1 {
public static void main(String[] args) throws FileNotFoundException {
MemoService service = new MemoService();
try {
service.readMemo("C: kosta215\\a.txt");
} catch (FileNotFoundException e) {
System.out.println("file이 없어서 읽을 수가 없도다. 파일명을 다시 확인해달라.");
// e.printStackTrace();
}
System.out.println("프로그램 정상 수행");
}
}
/*
항상 실행해야 하는 부분은 finally로 처리
file이 없어서 읽을 수가 없도다. 파일명을 다시 확인해달라.
프로그램 정상 수행
*/
java.Exception Handling(예외 처리)
Excetion Handling(예외 처리) Exception : 예외 / Error : 에러 Exception Handling(예외처리) : 프로그램 실행시 예외적 상황 발생에 대한 대안흐름(대처방안)을 실행하고 프로그램을 정상 수행하는데 있음 > E..
broscoding.tistory.com
반응형