Error, Exception, RuntimeException 차이자바에서는 실행 시 발생할 수 있는 오류들을 클래스로 정의했다.

이런 예외들을 프로그래머가 미리 처리하기 위해 예외처리(exception handling)를 해준다.
프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이며, 프로그램의 비정상적인 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것이다. 예외처리를 해줘야 프로그램이 비정상적으로 종료되는 것을 막을 수 있다. 처리되지 못한 예외는 JVM의 예외처리기가 받아서 예외의 원인을 화면에 뜨워준다. 예외를 처리하기 위해서 try-catch문을 사용한다.
try, catch 문법try{
...
}catch(ArithmeticException e){
arithmeticException이 발생했을 때 실행되는 코드
}
try, catch 작동 방식try 블럭 내에서 예외가 발생한 경우, 먼저 발생한 예외와 일치하는 catch블럭이 있는지 확인하고, 일치하는 catch블럭을 찾게 되면, 그 catch 블럭 내의 문장들을 수행하고 전체 try-catch문을 빠져나가서 그 다음 문장을 계속해서 수행한다. 만일 일치하는 catch 블럭을 찾지 못한다면 예외는 처리되지 못한다. try 블럭 내에서 예외가 발생하지 않은 경우, catch블럭을 거치지 않고 전체 try-catch문을 빠져나가서 수행을 계속한다.
예외 발생시
발생한 예외에 해당하는 클래스의 인스턴스가 만들어짐 -> 예외가 발생한 문장이 try 블럭에 포함되어 있다-> 예외를 처리할 수 있는 catch 블럭이 있는지 찾음
e.getMessage()
발생한 예외 클래스의 인스턴스에 저장된 메시지를 읽을 수 있고 오류에 대한 기본적인 내용을 출력해준다. Exception의 유형도 없이 정말 간단하게 왜 에러가 발생했는지 알려주기만 한다.
new Exception(), new RuntimeException() 등등)Exception e = new Exception("내용"); 구문으로 발생시키려는 예외 클래스의 객체를 만든 다음 throw를 이용해 예외를 발생시킨다.
throw new Exception("내용");으로 두 줄을 한줄로 줄여쓸 수도 있다.