목차
목차
에러는 Error
프로토콜을 채택adopts하는 것으로 표현한다.
// 오류 종류 정의하기
enum PrinterError: Error {
case outOfPaper
case noToner
case onFire
}
**throw
, throws
****throw
:** 에러가 발생해서 에러를 던질 때(오류를 처리하는 곳으로 전달할 때)**throws
:** 에러를 낼 수 있는 함수를 마크할 때함수에서 에러를 던지고throw 싶으면, 함수는 즉시 반환을 하고 함수라고 불리던 코드는 에러를 처리handle한다.
func send(job: Int, toPrinter PrinterName: String) throws -> String{
if PrinterName == "Never Has Toner" {
throw PrinterError.noToner
}
return "Job sent"
}
do-catch
do
블록: try
를 사용하여 에러를 버릴 수 있는 코드를 마크한다.
에러는 Error
프로토콜을 채택adopts하는 것으로 표현한다.
// 오류 종류 정의하기
enum PrinterError: Error {
case outOfPaper
case noToner
case onFire
}