1.try-catch-finally
try: 예외 발생 가능 코드 위치
catch:예외 발생시 즉시 이동되는 구역
finally(생략가능):예외발생 여부 상관없이 실행 try, catch문에 return이 있어도 finally블록은 항상 실행된다.
package a18_ExceptionHandling;
public class a18 {
public static void main(String[] args){
int[] a={1};
try {
a[2]=1;
} catch (Exception e) {
System.out.println("오류");
}
finally{
System.out.println("항상출력");
}
}
}
//
오류
항상출력
2.다중 catch
cat문을 여러개 쓰고 각 catch에 각 예외 종류를 작성한다.
package a18_ExceptionHandling;
public class a18 {
public static void main(String[] args){
int[] a={1};
try {
a[2]=1;
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("배열오류");
} catch(NumberFormatException e){
System.out.println("숫자변환오류");
}
finally{
System.out.println("출력");
}
}
}
//출력
배열오류
출력
3.throws
메소드 내부에서 예외가 발생할수있는 코드를 작성할때 메소드를 호출한곳에 예외를 떠넘기는것이다.
public class a18 {
static void method() throws ArrayIndexOutOfBoundsException{
int[] b={1};
b[2]=1;
}
public static void main(String[] args){
try {
method();
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("배열오류");
} catch(NumberFormatException e){
System.out.println("숫자변환오류");
}
finally{
System.out.println("출력");
}
}
}
//출력
배열오류
출력
'Language > JAVA' 카테고리의 다른 글
[Java] 자바 API 도큐먼트 (0) | 2024.06.19 |
---|---|
[Java] 예외 클래스(Exception Class) (0) | 2024.05.20 |
[Java] 익명 객체(Anonymous Object) (0) | 2024.05.20 |