Swift에서 throw
키워드는 에러를 발생시키는데 사용됩니다. 에러는 함수나 메서드에서 예외적인 상황이 발생했을 때 사용됩니다.
throw
키워드를 사용하여 에러를 발생시키면, 해당 에러를 처리해야 하는 코드에게 알립니다. 이를 통해 예외적인 상황에 대한 적절한 대응을 할 수 있습니다.
에러 발생시키기
에러를 발생시키려면, throw
키워드를 사용하고 에러 객체를 전달해야 합니다. 에러 객체는 Error
프로토콜을 따르는 타입이어야 합니다.
enum MyError: Error {
case errorCase1
case errorCase2
}
func myFunction() throws {
// 조건에 따라 에러 발생시키기
if 조건 {
throw MyError.errorCase1
} else {
throw MyError.errorCase2
}
}
에러 처리하기
에러를 발생시키는 함수를 호출할 때에는, 에러가 발생할 수 있으므로 try
키워드를 사용해야 합니다.
do {
try myFunction()
// 정상적으로 실행된 경우
} catch MyError.errorCase1 {
// errorCase1 에러 처리
} catch MyError.errorCase2 {
// errorCase2 에러 처리
} catch {
// 그 외의 에러 처리
}
위의 예제에서는 myFunction()
이 에러를 발생시킬 수 있는 함수로 정의되었습니다. try
키워드를 사용하여 myFunction()
을 호출하고, 발생하는 각각의 에러에 대해 catch
블록으로 처리합니다. 마지막 catch
블록은 그 외에 발생하는 모든 에러를 처리하는 블록입니다.
에러 전파하기
함수나 메서드에서 에러를 발생시킨 후, 해당 에러를 처리하지 않고 상위 코드로 에러를 전달하려면 throws
키워드를 사용해야 합니다.
func functionA() throws {
try myFunction()
// 에러 처리
}
위의 예제에서 functionA()
는 내부에서 myFunction()
을 호출한 후, 발생하는 에러를 처리하지 않고 에러를 전파합니다. 이렇게 하면 functionA()
를 호출한 상위 코드에서 에러를 처리할 수 있습니다.
throw
키워드를 사용하여 예외적인 상황을 처리하고 에러를 발생시킬 수 있으며, try
키워드와 catch
블록을 사용하여 에러를 처리할 수 있습니다. 이를 통해 코드의 안정성을 높이고 예외 상황에 대응할 수 있습니다.
참고문서: Swift Error Handling