자바 예외처리

hjseo-dev·2022년 3월 18일
0

Java

목록 보기
3/3

1. Error(에러) vs Exception(예외)

Checked Exception은 컴파일을 할 경우에 예측가능한 예외로 ClassNotFoundException, FileNotFoundException 등이 있습니다.
UnChecked Exception은 런타임 시 발생할 수도 있고 발생하지 않을 수 있는 예외로 ArithmeticException, NullpointerException 등이 있습니다.

2. 예외처리란?

프로그래밍을 하면서 에러와 예외는 필연적으로 만나게 되는 존재입니다.
잘못된 코딩으로 인해 예외가 발생하더라도 무시하고 다음 코드를 실행하거나 다른 메소드를 호출하는 것처럼 다양하게 사용자가 원하는 예외처리를 할 수 있습니다.
try, catch, finally, throw, throws 다음 키워드를 이용하여 예외처리를 합니다.

① try - catch 구문을 이용하여 메소드 내에서 예외를 처리하도록 정의한다.
② 키워드 throws 를 이용하여 메소드를 호출한 영역으로 예외가 전달되도록 정의한다.

JAVA 예외처리 종류 (Exception)

ArthmeticException  : 정수를 0으로 나눌때 발생
NullPointException  : Null 레퍼런스를 참조할때 발생
ClassCastException  : 변환할 수 없는 타입으로 객체를 변환할 때 발생
OutOfMemoryException  : 메모리가 부족한 경우 발생 
ArrayIndexOfBoundsException  : 배열의 범위를 벗어난 접근 시 발생
IllegalArgumentException : 잘못된 인자 전달 시 발생
IOException : 입출력 동작 실패 또는 인터럽트 시 발생
NumberFormatException  : 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환시 발생
IllegalStateException  : 객체의 상태가 매소드 호출에는 부적절한 경우 
ConcurrentModificationException : 금지된 곳에서 객체를 동시에 수정하는것이 감지될 경우 발생
UnsupportedOperationException : 객체가 메소드를 지원하지 않는 경우 발생
 
 
 // 파일이 존재하지 않는 경우에 대한 예외 처리
	catch (FileNotFoundException e) {
		String exceptionMessage = textFileName + " 파일 또는 그것의 경로가 존재하지 않습니다.";
		Toast.makeText(this.context, exceptionMessage, Toast.LENGTH_SHORT).show();
		e.printStackTrace();
	}
		
// 입출력 관련된 예외 처리
	catch (IOException e) {
		String exceptionMessage = "파일을 읽는 도중에 오류가 발생했습니다.";
		Toast.makeText(this.context, exceptionMessage, Toast.LENGTH_SHORT).show();
		e.printStackTrace();
	}
		
// 기타 예외 처리
	catch (Exception e) {
		Toast.makeText(this.context, "알 수 없는 오류입니다.", Toast.LENGTH_SHORT).show();
		e.printStackTrace();
	}
e.getMessage() = 에러 이벤트와 함께 들어오는 메세지를 출력한다.
e.getMessage(): 출력문구

e.toString() = 에러 이벤트의 toString()을 호출해서 간단한 에러 메시지를 확인한다.
e.toString(): java.lang.Exception: 출력문구

e.printStackTrace() = 에러 메세지의 발생 근원지를 찾아서 단계별로 에러를 출력한다.
e.printStackTrace(): java.lang.Exception: 출력문구

출처 : https://math-coding.tistory.com/170

0개의 댓글