아래와 같이 코드를 실행해보자.
package Java02;
public class ExceptionExam {
public static void main(String[] args) {
int a = 10;
int b = 0;
int c = a/b;
System.out.println(c);
}
}
위와 같이 실행시키면 아래와 같이 ArithmeticException이라는 것이 발생을 하면서 프로그램이 종료가 되어버린다.
Exception이 발생하게 되면 발생한 지점부터 프로그램은 종료되어 버린다.
java는 정수를 0으로 나눌 때 예외라는 것을 발생시킨다.
이렇듯 프로그램이 실행 중에 예기치 못한 사건을 예외라고 한다.
이렇게 예외상황이 발생했을 때 어떻게 해야 할까?
예외 상황에 대비하여 예외 처리를 하자.
1. try - catch - finally
- try {} - 오류가 발생할 것 같은 부분을 try블록 안에다 넣는다.
- try 블록 안에서 발생할 수 있는 오류와 관련된 Exception타입을 catch블록에 처리
- finally 블록(생략 가능)
finally 블록은 오류를 발생시켰던 발생하지 않았던 무조건 실행할 수 있는 것이 finally블록이다.
try{
...
}
catch(예외클래스 변수명){
// 예외가 발생했을 때 실행할 수 있는 코드로 처리
}finally{
...
}
- try 블록에서 여러 종류의 Exception이 발생한다면 catch 블록도 여러 개 둘 수 있다.
- Exception 클래스들은 모두 Exception 클래스를 상속받게 되는데,
예외클래스에 Exception이라고 두게 된다면 어떤 오류를 발생하더라도 하나의 catch 블록에서 모든 오류를 처리할 수 도 있다.
'PL(ProgrammingLanguage) > JAVA' 카테고리의 다른 글
Exception 발생시키기 (0) | 2021.10.16 |
---|---|
throws (0) | 2021.10.16 |
내부클래스 - local 클래스 / 익명클래스 (0) | 2021.10.13 |
내부 클래스 - instance 클래스/ static 클래스 (0) | 2021.10.12 |
인터페이스(interface)의 default method (0) | 2021.10.12 |