※ 예외 처리
예외(exception) - 실행 도중 잠재적인 오류까지 검사할 수 없기에 정상적으로 실행이 되다 비정상적으로 종료되는 경우
- 운영체제 문제 (잘못된 시스템 호출 문제)
- 입력값 문제 (존재하지 않는 파일/숫자 입력란에 문자 입력 등)
- 받아들일 수 없는 연산 (0으로 나누기)
- 메모리 할당 실패 및 부족
- 컴퓨터 자체의 문제 (전원 문제, 기억 장치의 오류)
예외 대비 구문
try {
예외 발생 가능성 있는 문장
} catch (e: 예외처리 클래스명) {
예외를 처리하기 위한 문장
} finally {
반드시 실행되어야 하는 문장
}
반드시 실행해야 할 작업이 없는 경우는 finally 블록은 생략하고 try~catch 블록만 작성하여 구성하여도 된다. 즉, finally 블록은 try블록의 실행여부와 관련이 없이 항상 실행이 되는 블록이라고 이해하면 된다.
○ 스택의 추적
- 예외 객체 멤버인 printStackTrace()를 사용해 임시 메모리 영역인 스택을 추적할 수 있다.
...
} catch (e: Exception){
e.printStackTrace()
}
...
○ 예외 발생시키기
- throw 키워드를 사용하면 예외를 의도적으로 발생시켜 원하는 방향으로 실행이 되도록 유도할 수 있다.
throw Exception(message: String)
'기타 > What I Learned' 카테고리의 다른 글
[TIL] Kotlin - 클로저(Closure) (0) | 2022.02.17 |
---|---|
[TIL] Kotlin - 람다식과 고차함수 요약 (0) | 2022.02.16 |
[TIL] Kotlin - 흐름의 중단과 반환 (2) (0) | 2022.02.14 |
Kotlin - 흐름의 중단과 반환 (0) | 2022.02.13 |
[TIL] Kotlin - 반복문 (0) | 2022.02.12 |