Java 에서 오류는 Error, Exception이 존재한다. Error 는 StackOverflow 같이 시스템적인 문제인데, 이는 예상할수도 막을수도 없는 것들을 말한다. 그래서 이는 우리의 관심사가 아니다. Exception 우리가 눈여겨 봐야할것들은 Exception 이다. Java 에서는 특정한 Exception을 특별 관리한다. 그게 Checked Exception이다. Checked Exception 은 시스템 외부에서 발생하는 Exception이다. IOException, SQLException 같이 프로그래머의 잘못인 아닌, 시스템 밖에서 무언가 잘못되었을때 발생한다. 그래서 반드시 try-catch 문을 사용하거나 throws하여 compile 단계에서 오류를 관리해야한다. 그러나 예..