컴파일 에러: 컴파일 할 때 발생하는 에러
런타임 에러: 실행 할 때 발생하는 에러, 프로그램이 종료됨
논리적 에러: 작성 의도와 다르게 동작
Java의 런타임 에러
에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
예외: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
에러는 어쩔 수 없지만 예외는 처리해야 한다.
예외처리의
정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
목적: 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것





1. 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든 다음
Exception e = new Exception("고의로 발생시켰음");
2. 키워드 throw를 이용해서 예외를 발생시킨다.
throw e;
혹은 줄여서
throw new Exception("고의로 발생시켰음");
try 블록에서 return 문이 실행되거나, catch 블록에서 예외가 재발생해도 finally 블록의 코드는 실행되므로 안정적인 실행이 보장된다.
또한 예외 발생 여부와 관계없이 실행해야 하는 코드를 finally 블록에 작성함으로써 try와 catch 블록에서 중복 코드를 줄일 수 있다.