try : 오류가 발생할 수 있는 코드를 try 구문으로 감싼다. 해당 구문에서 오류가 생길 경우를 대비한다. - 안전망
catch : 결국 오류가 발생하였다. 괜찮다. 우리는 catch를 통해 오류가 생겼을 시 어떻게 처리할지를 작성할 수 있다.
finally : 위에서 누가 떨어지든, 문제를 처리하던, 얘는 그런거 신경 안쓴다. 걍 지 갈 길을 간다. 위에서 뭐가 있던 finally 안은 항상 실행된다.
throw를 통해 예외를 발생시켰다. throws를 통해 예외가 발생한 메서드를 Exception 클래스로 던졌다.
main()메서드에서 오류가 발생한 메서드를 런타임오류가 나지 않으려면 Exception 클래스로 던진 메서드의 오류를 잡아야(catch)한다.
public class Main {
public static void main(String[] args) {
try {
int numerator = 10; // 나눗셈의 분자
int denominator = 0; // 나눗셈의 분모
int result = numerator / denominator; // 0으로 나누기 시도
System.out.println("결과: " + result); // 결과 출력
} catch (ArithmeticException e) {
//try 구문에서 ArithmeticException 오류가 발생되었을 때 해당 오류를 잡아준다 (catch)
System.out.println("오류 발생: " + e.getMessage()); // 오류 메시지 출력
} finally {
System.out.println("프로그램이 종료되었습니다."); // 항상 실행되는 블록
}
}
}