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 다시 공부하기@@
'언어 > Kotlin' 카테고리의 다른 글
[Kotlin 문법 종합] - 널 세이프티 @@수정하기 (0) | 2024.03.06 |
---|---|
[Kotlin 문법 종합] - 지연 초기화 (@@0313 추가중~) (0) | 2024.03.06 |
[Kotlin 문법 종합] - 접근제한자와 관련 용어 정리 (0) | 2024.03.06 |
[Kotlin 문법 종합] - 인터페이스, 추상 클래스 (0) | 2024.03.05 |
[Kotlin 문법 종합] - 오버라이딩, 오버로딩 # 수정하기 (0) | 2024.03.05 |