package try_catch;
public class TryCatch {
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");
}
try {
int value1 = Integer.parseInt(data1);
int value2 = Integer.parseInt(data2);
int result = value1 + value2;
System.out.println(data1 + "+" + data2 + "=" + result);
} catch(Exception e) {
System.out.println("에러를 찾아주겠습니다.");
System.out.println("에러는 : " + e + " 입니다.");
}
finally {
System.out.println("다시 실행하세요");
}
}
}
Try Catch문이란 오류를잡아주는 역할을 해줍니다.
일반적인 문법오류가 아닌 실행시 값이 안 들어갔다던지 등에 대한 오류를 잡아줍니다.
일단 Try에서 실행할 문을 넣어줍니다.
Catch에서는 에러를 잡아주는 역할을 합니다.
Catch(에러 종류 에러 종류가 들어갈 변수) 입니다.
Catch(Exception e) 여기에서 Exception이란 모든 에러를 의미합니다.
특정한 에러를 알고 있지 않는 이상 Exception을 e로 받아서 e를 출력해보면 알 수 있죠
Finally에서는 에러가 나던 안 나던 무조건 실행시키는 부분입니다.
어떤식으로 이용할 수 있냐면 만약 값이 안 들어간 null 에러가 난다면 catch(Null값에 대한 에러)를 주고
안에 내용에서 다시 값을 받아오는 역할이라든가 아니면 다른 처리를 해주는 식으로 사용할 수 있습니다.
'[Java] > [Java]' 카테고리의 다른 글
[Java] 자바 중첩 인터페이스(Interface) (0) | 2021.08.02 |
---|---|
[Java] 자바 중첩 클래스, 로컬 클래스 (Class) (0) | 2021.08.02 |
[Java] 자바 정렬(Sort) (Comparable vs Comparator) (0) | 2021.07.10 |
[Java] 자바 컬렉션프레임워크 HashMap (0) | 2021.07.08 |
[Java] 자바 컬렉션프레임워크 HashSet (0) | 2021.07.06 |