안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
예외 처리 코드는 try - catch - finally 블록을 이용합니다.
try - catch - finally 블록은 생성자 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우
예외 처리를 할 수 있도록 해줍니다.
이클립스는 일반 예외가 발생할 가능성이 있는 코드를 작성하면
빨간 밑줄을 그어 예외 처리 코드의 필요성을 알려준다.
예제)
public class TryCatchFinallyExample {
public static void main(String[] args) {
Class clazz = Class.forName("java.lang.String2");
}
}
이럴 경우에 try - catch - finally 문을 사용합니다.
예제)
public class TryCatchFinallyExample {
public static void main(String[] args) {
try {
Class clazz = Class.forName("java.lang.String2");
} catch(ClassNotFoundException e) {
System.out.println("클래스가 존재하지 않습니다.");
}
}
}
ClassNotFoundException같은 일반예외는 컴파일러가
예외처리코드의 필요성을 알려주지만,
ArrayIndexOutOfBoundsException이나 NumberFormatException과 같은 실행 예외는
오로지 개발자의 경험에 의해서 예외 처리 코드를 아래 예제처럼 작성해주어야 합니다.
예제)
public class TryCatchFinallyRuntimeExceptionExample {
public static void main(String[] args) {
String data1 = null;
String data2 = null;
try {
data1 = args[0];
data2 = args[1];
} catch(ArrayIndexOutOfBoundsException e) {
System.out.println("실행 매개값의 수가 부족합니다.");
System.out.println("[실행 방법]");
System.out.println("java TryCatchFinallyRuntimeExceptionExample num1 num2");
return;
}
try {
int value1 = Integer.parseInt(data1);
int value2 = Integer.parseInt(data2);
int result = value1 + value2;
System.out.println(data1 + "+" + data2 + "=" + result);
} catch(NumberFormatException e) {
System.out.println("숫자로 변환할 수 없습니다.");
} finally {
System.out.println("다시 실행하세요.");
}
}
}
'자바' 카테고리의 다른 글
JAVA 자바 예외처리 : 자동 리소스 닫기 (0) | 2017.03.13 |
---|---|
JAVA 자바 예외처리 : 다중 catch 와 catch 순서 그리고 멀티 catch (0) | 2017.03.13 |
JAVA 자바 예외처리 : 실행 예외 - ClassCastException (0) | 2017.03.13 |
JAVA 자바 예외처리 : 실행 예외 - NumberFormatException (0) | 2017.03.13 |
JAVA 자바 예외처리: 실행 예외 - ArrayIndexOutOfBoundsException (0) | 2017.03.13 |