기타/What I Learned

[TIL] Kotlin - 예외 발생

가죽방패 2022. 2. 15. 15:02

※ 예외 처리

예외(exception) - 실행 도중 잠재적인 오류까지 검사할 수 없기에 정상적으로 실행이 되다 비정상적으로 종료되는 경우

- 운영체제 문제 (잘못된 시스템 호출 문제)

- 입력값 문제 (존재하지 않는 파일/숫자 입력란에 문자 입력 등)

- 받아들일 수 없는 연산 (0으로 나누기)

- 메모리 할당 실패 및 부족

- 컴퓨터 자체의 문제 (전원 문제, 기억 장치의 오류)

 

예외 대비 구문

try {
	예외 발생 가능성 있는 문장
}	catch (e: 예외처리 클래스명) {
	예외를 처리하기 위한 문장
}	finally {
	반드시 실행되어야 하는 문장
}

반드시 실행해야 할 작업이 없는 경우는 finally 블록은 생략하고 try~catch 블록만 작성하여 구성하여도 된다. 즉, finally 블록은 try블록의 실행여부와 관련이 없이 항상 실행이 되는 블록이라고 이해하면 된다.

 

○ 스택의 추적

- 예외 객체 멤버인 printStackTrace()를 사용해 임시 메모리 영역인 스택을 추적할 수 있다.

...
} catch (e: Exception){
	e.printStackTrace()
}
...

○ 예외 발생시키기

- throw 키워드를 사용하면 예외를 의도적으로 발생시켜 원하는 방향으로 실행이 되도록 유도할 수 있다.

throw Exception(message: String)