Swift3/Xcode8에서 오류 처리 연습

12355 단어 XcodeSwiftXcode8swift3

오류 처리



오류 처리 연습을 위해 쓰십시오. 아래의 UIButton을 클릭하면 에러 핸들링 처리가 실행되는 앱입니다. 인수에 캐릭터 라인을 취해, 그 캐릭터 라인으로 에러를 판정합니다.



예상되는 오류를 enmu로 정의


enum TestError:Error {
        case Error1(String)
        case Error2(String)
        case Error3(String)
        case AnotherError(String)
    }

실행할 함수 정의


func TestMethod(str:String) throws {

              if str == "error1" {

            throw TestError.Error1("エラー発生1")

        }else if str == "error2" {

            throw TestError.Error2("エラー発生2")

        }else if str == "error3" {

            throw TestError.Error3("エラー発生3")
        }else{

            throw TestError.AnotherError("それ以外のエラー発生")

        }
       }
      }


step3 실행


do {
            try TestMethod(str: "error3")

        } catch TestError.Error1 (let err) {
            print (err)

        } catch TestError.Error2 (let err) {
            print (err)

        }catch TestError.Error3 (let err) {
            print (err)

        }catch TestError.AnotherError (let err) {
            print (err)

        }catch{

            print("何かがおかしい")

        }

구현



ViewController.swift
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func ErrHandlingTestButton(_ sender: Any) {

        do {
            try TestMethod(str: "error3")

        } catch TestError.Error1 (let err) {
            print (err)

        } catch TestError.Error2 (let err) {
            print (err)

        }catch TestError.Error3 (let err) {
            print (err)

        }catch TestError.AnotherError (let err) {
            print (err)

        }catch{

            print("何かがおかしい")

        }
    }


    enum TestError:Error {
        case Error1(String)
        case Error2(String)
        case Error3(String)
        case AnotherError(String)

    }



    func TestMethod(str:String) throws {

              if str == "error1" {

            throw TestError.Error1("エラー発生1")

        }else if str == "error2" {

            throw TestError.Error2("エラー発生2")

        }else if str == "error3" {

            throw TestError.Error3("エラー発生3")
        }else{

            throw TestError.AnotherError("それ以外のエラー発生")

        }
       }
      }


참고



Swift,Objective-C 프로그래밍 ~ iOS ~

【Swift3.0】Error 프로토콜을 사용한 예외 처리의 샘플을 만들어 보았다

Swift에서 Error Handling을 다시 배우십시오! byYutaka

Swift3/Xcode8에서 오류 처리 연습

GitHub



Swift3-ErrorHandlingTutorial

좋은 웹페이지 즐겨찾기