본문 바로가기
언어/Kotlin

[Kotlin 문법 종합] - 예외처리 # 수정하기

by 젼젼39 2024. 3. 6.

1. 예외처리

    * 예외 : 런타임 에러
    * 오류 : 컴파일 에러 (실행 전)

    (+) 안정성

1) try-catch : 완벽한지 애매한 부분을 try로 감싸기

fun method1() {
	try {
	    //
	} catch(예외종류) { 	//예시 = e:java.lang.NumberFormatException
            //
    }
}
while(true) { 		//무한반복. break 작성 필수
    try {
        var num1 = readLine()!!.toInt()
        println("내가 입력한 숫자는 ${num1}입니다")
        break
    } catch(e:java.lang.NumberFormatException) {
        println("숫자를 입력하세요")
    }
}
while(true) {
    try {
        var num1 = readLine()!!.toInt()
        println("")
        break
    } catch(예외종류) {
        println("")
    } finally { 			//자바와 동일, break 전까지 while 루프 돌때마다 readLine 전 출력됨
        println("~~") 
    }
}

 

 

2) throw

    : 예외 발생 시 던짐.              //try 블록 안에 throw 없어도 ㄱㅊ. 특정 에러일 때 throw해도 됨

fun method1(num1:Int) {
	if(num1 > 10) {
	throw 예외종류
	}
}
try{
    amount -= 100
    checkAmount(amount)
} catch (e:Exception){
     println(e.message)
}


fun checkAmount(amount:Int){
    if(amount<1000)
        throw Exception("잔고가 $amount으로 1000 미만입니다")
}

// 193 다시 공부하기@@