예외처리는 매우 중요하다.
프로그램을 실행하기 전 알 수 있는 컴파일 에러를 오류,
실행 중 발생하는 런타임 에러인 예외가 발생할 수 있다.
예외 사항에 대한 처리가 필요하다.
fun test() {
try {
예외가 발생할 수 있는 코드
} catch(예외종류) {
예의가 발생했을 때 처리할 코드
}
try-catch 구조
fun test(num1:Int) {
if(num1 > 10){
throw 예외종류 }
}
throw 구조
숫자를 입력하는 계산기에서 문자열이 입력된다면 프로그램이 종료된다.
이 같은 예외를 방지하기 위해 예외 처리를 고려하여 코드를 짜야한다.
while(true) {
try {
var num1 = readLine()!!.toInt()
println("내가 입력한 숫자는 ${num1}입니다")
break
} catch(e:java.lang.NumberFormatException) {
println("숫자를 입력하세요")
}
}
try-catch
문자를 입력했을 때 발생하는 'e:java.lang.NumberFormatException' 를 처리
while(true) {
try {
var num1 = readLine()!!.toInt()
println("내가 입력한 숫자는 ${num1}입니다")
break
} catch(e:java.lang.NumberFormatException) {
println("숫자를 입력하세요")
} finally {
println("키보드와의 연결은 정상적입니다")
}
}
try-catch-finally
finally는 try, catch 뭐가 나오던 finally가 호출됨