예외 처리
import SwiftUI
struct Exception: View {
@State var inputNumber = ""
@State var resultNumber: Float = 0
var body: some View {
VStack{
TextField("나눌 숫자를 입력해주세요", text: $inputNumber)
Text("결과 : \(resultNumber)")
Button{
do{ //에러가 발생될 부분 ( 받는 부분 )
try resultNumber = devideTen( with: (Float(inputNumber) ?? 1.0) )
}catch DevideError.devideByZero {
print("0으로 나누기 시도")
resultNumber = -99 //예외 처리
}catch{
print(error.localizedDescription)
}
}label: {
Text("나누기")
}
}
} // body
// 에러를 던지는 부분
func devideTen(with inputNumber: Float) throws -> Float {
var result: Float = 0
if inputNumber == 0 {
throw DevideError.devideByZero
}else {
result = 10 / inputNumber
}
return result
} // func devideTen
}// struct Exception
// 에러 정의 된 부분
enum DevideError: Error{
case devideByZero
}
#Preview {
Exception()
}
'iOS > Swift' 카테고리의 다른 글
Swift Day_11 (0) | 2024.07.06 |
---|---|
Switft Day_10 (0) | 2024.07.06 |
Swift Day_08 (0) | 2024.07.05 |
Swift Day_07 (2) | 2024.07.05 |
Swift Day_06 (0) | 2024.07.05 |