0Pricing
Swift Academy · 강의

오류 처리

오류 처리

오류 처리은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 1개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 1개의 강의가 포함되어 있습니다.

소개

안녕하세요.

애플리케이션이 실행되는 동안 애플리케이션의 코드(논리 오류 등)나 애플리케이션이 실행되는 환경에 따라 일부 오류가 발생할 수 있습니다.

발생한 오류를 식별하고 제어할 때 오류 처리를 사용할 수 있습니다.

오류 유형

오류가 발생한 후 오류 처리를 사용하면 애플리케이션의 흐름이 중단되지 않도록 하거나, 오류를 기록하거나, 경우에 따라 애플리케이션을 종료할 수 있습니다(실행을 계속할 수 없는 경우).

발생할 수 있는 오류 중 일부는 소프트웨어 개발자가 코드에 작성한 논리 오류로 인해 발생할 수 있습니다. 예를 들어 이전 섹션에서 배운 것처럼 옵셔널 값을 강제 언래핑하면 애플리케이션에서 오류가 발생합니다.

경우에 따라 개발자와 무관하게 오류가 발생할 수도 있습니다. 예를 들어 애플리케이션이 실행되는 기기에 디스크 공간이 없으면 애플리케이션에서 다시 오류가 발생합니다.

사용자 지정 오류 열거형

열거형으로 발생할 사용자 지정 오류를 직접 정의할 수 있습니다. 아래 예시에서는 신용 카드 정보를 입력할 때 발생할 수 있는 오류 유형을 CreditCardError라는 이름으로 추가합니다.

enum CreditCardError: Error {
    case insufficientFunds
    case issuerDeclined
    case invalidCVC
}

throws 키워드

작성한 메서드에서 오류가 발생할 수 있다면 메서드 정의에 throws 키워드를 추가합니다.

아래는 구문의 예시입니다.

func processPayment(creditcard: String) throws {
}

throw 키워드

코드를 작성하다 보면 소프트웨어 개발자가 직접 오류를 발생시켜야 하는 경우가 있습니다.

은행의 결제 시스템을 작성한다고 생각해 보겠습니다. 

신용 카드로 결제할 때 고객의 잔액이 충분하지 않을 수 있습니다. 이 경우 자금이 부족하다는 오류를 발생시킬 수 있습니다.

throw CreditCardError.insufficientFunds

do-catch 블록

do-catch 블록

애플리케이션에서 오류를 일으킬 수 있는 메서드를 사용하려는 경우 해당 코드를 do-catch 블록으로 감싸 가능한 오류를 포착할 수 있습니다.

오류를 일으킬 수 있는 코드는 do 블록에 배치하고, 가능한 오류는 catch 블록에서 포착합니다.

아래 예시를 살펴보겠습니다.

do {
   //Code block that may throw an Error
}
catch let error {
    print(error)
}

try 구문

try 키워드 외에도 try! 또는 try? 사용 방식이 있습니다. 

예시를 살펴보겠습니다.

// if an error was thrown, app will crash
let result = try! doSomething() 


if let result = try? make() {
    //If the make method is successful, the result is unwrap. It is a very elegant use.
} else {
    //make() threw an error.
}

여러 catch 블록

호출하는 메서드에서 여러 오류가 발생할 수 있다면 오류 유형에 따라 오류를 필터링하고 애플리케이션의 흐름을 제어할 수 있습니다.

아래 예시에서는 각 catch 블록이 발생할 수 있는 서로 다른 오류를 처리합니다.

do {
    try doSomething()
} catch CustomError.errorOne {
  //handle errorOne Error
} catch CustomError.errorTwo(let customErr) {
   //handle errorTwo Error with customErr
}

축하합니다

축하합니다 🎉

이번 레슨에서는 스위프트에서 애플리케이션 오류를 처리하는 방법을 배웠습니다.

다음 레슨에서 뵙겠습니다.

오류 처리 — 일러스트레이션 9

자주 묻는 질문

“오류 처리” 강의는 무료인가요?

네 — “오류 처리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 1개의 강의가 포함되어 있습니다.

“오류 처리”에서 뭘 배우나요?

오류 처리 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 1개 중 1번째 강의입니다.

“오류 처리” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

← Swift Academy(으)로 돌아가기