백엔드를 지망하는 개발자로서 발생할 수 있는 에러와 예외를 미리 예상해서 처리할 줄 아는 것은 당연한 것이다. 하지만, 아직 실무 경험이 없기 때문에 상상할 수 있는 에러와 예외는 그렇게 많지 않다. 노력해보자.
에러 및 예외의 차이
- 처음에는 그게 그거 아닌가 싶었다. 하지만, 매우 큰 차이였다.
에러
- 에러는 시스템에 비정상적인 상황이 발생할 때 생긴다. StackOverflowError나 OutOfMemoryError와 같은 게 예시다. 프로그래머가 미리 예측할 수 없기에 신경쓰지않아도 된다. 발생하면 심각한 문제가 생긴다.
느낀점: 신경쓰지않아도 된다고?? 정말인가?? 그리고 에러 코드 404, 500 같은 것들은 여기서 말하는 에러와는 다른 것인가?
예외
- 예외는 구현한 로직에서 발생하기 때문에, 미리 예측해서 해결할 수 있다.
- 종류: checked, unchecked
- Checked Exception는 실행하기 전에 예측 가능한 SQLException이나 FileNotFoundException 등
- Unchecked Exception는 실행하고 난 후에 알 수 있는 ArrayIndexOutOfBoundException, NullPointerException 등