Daily coding
Java Basic : day 7 - Exception 예외처리2 본문
// 함수에 예외 적용하기
// 1. 예외 던지기
try {
funcExcp();
} catch (Exception e) {
System.out.println("예외 발생");
}
// 2. 예외 만들기
try {
throw Excp(); // 지금은 무조건 예외가 발생하는 메소드 호출한다.
} catch (Exception e) {
System.out.println("예외 만들어서 던짐");
}
}
// 메소드 부분
static void funcExcp() throws ArrayIndexOutOfBoundsException{
int n[] = { 1, 2, 3 };
for (int i = 0; i < 4; i++) {
System.out.println(n[i]);
}
System.out.println("이코드는 예외가 없으면 출력 됨.");
}
// 위의 메소드는 예외가 발생하면 해당 메소드를 사용하는 상위 메소드(지금 경우에는 main 메소드)가
// 예외처리를 하도록 예외를 던진다.
// throws ArrayIndexOutOfBoundsException :
// throws : 현 메소드에서 예외를 처리하지 않고 다음 메소드에 맡긴다는 키워드
// ArrayIndexOutOfBoundsException 예외가 발생하면 throws
throws : 예외 던지기
// 해당 메소드가 예외가 나올 수 있음을 미리 표시함
// 해당 메소드에서는 예외처리를 따로 하지 않아도 되지만
// 해당 메소드를 사용하는 다른 메소드(상위 메소드) 에서 예외 처리를 해주거나
// 다시 throws 해줘야 함.
// 위의 경우에서는 main 메소드에서 처리해줬음.
throw : 예외 자체를 만들기
// try문에서 예외를 만들어 catch를 실행시키도록 함
static void throwExcp() throws Exception{
int a[] = new int[5];
for (int i = 0; i < 4; i++)
a[i] = 1;
a[4] = 2;
try {
for (int i = 0; i < a.length; i++) {
if(a[i] == 1) {
System.out.println("try문 실행중 ");
}else {
throw new Exception();
// else문에 들어왔을 때
// 새로운 예외를 일부러 발생시킨다.
}
}
} catch (Exception e) {
System.out.println("예외 만드는 중");
throw e;
}
}
}
출력결과 :
1
2
3
예외 발생
try문 실행중
try문 실행중
try문 실행중
try문 실행중
예외 만드는 중
예외 만들어서 던짐
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 7 - File : 파일 입출력 (0) | 2019.11.26 |
---|---|
Java Basic : day 7 - Exception 예외처리3 (0) | 2019.11.26 |
Java Basic : day 7 - Exception 예외처리1 (0) | 2019.11.26 |
Java Basic : day 7 - Overload 오버로딩 (0) | 2019.11.26 |
Java Basic : day 7 - 가변인수란? (0) | 2019.11.26 |