728x90
반응형
코틀린의 예외 처리
코틀린의 예외처리는 자바나 다른 언어의 예외 처리와 비슷함
함수는 정상적으로 종료할 수 있지만 오류가 발생하면 예외를 던질 수 있음
// 조건이 참이면 number의 값이 초기화되고 거짓이면 초기화되지 않고 throw를 호출한다.
val number = try {
Integer.parseInt(reader.readLine())
} catch (e: NumberFormatException) {
return // 예외가 발생한 경우 catch 블록 다음의 코드는 실행되지 않는다.
}
try, catch, finally
자바 코드와 가장 큰 차이는 throws절이 코드에 없다는 점
자바에서는 함수를 작성할 떄 함수 선언 뒤에 throws IOException을 붙여야 함 (IOExption이 체크 예외이기 때문)
자바 7의 자원을 사용하는 try-with-resoucr는 어떨까?
코틀린은 그런 경우를 위한 특별한 문법을 제공하지 않음
하지만 라이브러리 함수로 같은 기능을 구현함
try를 식으로 사용
이전의 예제를 다시 살펴보기 👇
// 조건이 참이면 number의 값이 초기화되고 거짓이면 초기화되지 않고 throw를 호출한다.
val number = try {
Integer.parseInt(reader.readLine())
} catch (e: NumberFormatException) {
return // 예외가 발생한 경우 catch 블록 다음의 코드는 실행되지 않는다.
}
코틀린의 try 키워드는 if나 when과 마찬가지로 식임
따라서 try의 값을 변수에 대입할 수 있음
반응형
'프로그래밍 > Kotlin' 카테고리의 다른 글
확장 함수와 확장 프로퍼티 (0) | 2022.01.20 |
---|---|
코틀린에서 컬렉션 만들기 (0) | 2022.01.19 |
코틀린 기초(while과 for) (0) | 2022.01.11 |
코틀린 기초(enum과 when) (0) | 2022.01.10 |
코틀린 기초(클래스와 프로퍼티) (0) | 2022.01.06 |