Search

예외처리

태그
throws
exception
자바
멀티캠퍼스
파일
Throws
메서드 선언부에 사용하는 키워드로, 예외가 발생했을 때 특정 예외 객체를 호출부
로 반환,예외처리를 위임한다.
Throws 를 계속해서 사용, 호출부로 위임을 하면 최종적으로 main 메서드에
도착하게 되며 main 메서드에서도 예외처리를 진행하지 않을 경우, jvm 이 대신
처리해준다. (이는 결국 개발자가 예외처리를 하지 않은 것과 마찬가지 임으로 바람
직하지 않다.)
예외 클래스
Checked Exception : Exception 클래스를 상속받은 클래스를 만들면, checked
Exception 으로 사용할 수 있다.
Unchecked Exception(Runtime Exception) : RuntimeException 을 상속받은 클래스를
만들면 Unchecked Exception 으로 사용할 수 있다.
객체 직렬화시에 사용한다.
객체 직렬화 : 통신에서 객체를 전달하기 위해 디지털 신호로 표현하기 위한 2진값으로 변경.
serialVersionUID : 직렬화 과정에서 클래스를 고유하게 식별하기 위한 ID 이며 만약 작성하지 않을 경우, JVM 이 임의로 부여한다.
예외 처리 방법
try-catch 문 : try 블록에 예외가 발생할 수 있는 코드를 작성, catch 블록에 예외 처리에 필요한 코드를 작성한다.
try-catch-finally 문 : finally 블록에 예외 발생 여부와 상관없이 수행 되어야 하는 코드를 작성한다.
예외의 종류
예외
설명
Compile Exception
컴파일 시점에 발생하는 예외, IDE 가 빨간 줄로 표시해주는 예외
Runtime Exception
실행되는 상황에서 발생하는 예외
Checked Exception
코드로 예외발생을 차단할 수 없기 때문에, 예외처리를 강제하는 Exception
UnChecked Exception
코드로 예외발생을 차단할 수 없기 때문에, 예외처리를 강제하지 않는 Exception
Arithmatic Exception
수학적으로 예외적인 상황이 되었을 때 발생되는 예외
ClassCastException
형변환 과정에서 문제가 생겼을 때 발생
ArrayIndexOutOfBoundsException
배열의 인덱스 값이 넘어갔을 때 발생
NullPointerException
레퍼런스에 주소값 대신 Null 이 들어가 있는데 참조를 시도할 경우 발생