JAVA) 예외처리

Daehwan Jung·2022년 9월 28일
1

JAVA

목록 보기
6/15

예외처리

예외

예외와 에러의 차이점

예외 : 연산 오류, 숫자 포맷 오류 등과 같이 상황에 따라 개발자가 해결할 수 있는 오류
에러 : 자바 가상 머신 자체에서 발생하는 오류로, 개발자가 해결할 수 없는 오류 

예외 클래스의 상속 구조

일반 예외(Checked Exception) : 컴파일 전에 예외 발생 문법을 검사하며, 예외 처리를 하지 않으면 문법 오류 발생

실행 예외(Unchecked Exception) : 실행할 때 발생하는 예외로 예외 처리를 따로 하지 않더라도 문법적 오류가 발생하진 않지만 프로그램 실행시 프로그램이 강제 종류도히는 이유중 대부분을 차지한다.

일반 예외 클래스

InterruptedException :
ClassNotFoundException : 클래스를 메모리에 동적으로 로딩하는 과정에서 해당 클래스가 존재하지 않으면 발생
IOException : 콘솔이나 파일에 데이터를 쓰거나(write()) 읽을(read()) 때 발생
FileNotFoundException : 파일을 읽을 때 해당 경로에 파일이 없으면 발생
CloneNotSupportedException : Cloneable 인터페이스를 상속하지 않은 클래스의 객체를 복사하기 위해 clone() 메서드를 호출하면 발생

실행 예외 클래스

ArithmeticException : 연산 자체가 불가능할 때 발생하는 실행 예외 ex)분모에 0이 들어가는 경우
ClassCastException : 다운캐스팅이 불가능한 상황에서 다운캐스팅을 시도하는 경우
ArrayIndexOutOfBoundsException : 배열의 인덱스를 잘못 사용했을 때 발생
NumberFormatException : 문자열을 숫자 또는 실수로 변환할 때 문자열이 변환하고자 하는 숫자 형식이 아니면 발생
NullPointerException : 참조 변수가 실제 객체를 가리키고 있지 않은 상황에서 필드나 메서드를 호출할 때 발생

예외 처리 문법

try{
	//일반 예외, 실행 예외 발생 가능 코드
}catch{
	//예외 발생했을 때 처리
}finally{
	//예외 발생 여부에 상관없이 무조건 실행 (생략가능)
}

0개의 댓글