[swift] throw, do-catch, rethrows, defer
[swift 기초문법] - throw, do-catch, rethrows, defer throw throw 키워드를 쓰면 함수, 메서드, 이니셜라이저는 오류를 던질 수 있습니다. throws 키워드를 사용한 함수는 동작 도중 오류가 발생하면 호출한 코드에 오류를 알릴 수 있습니다. 같은 이름의 throw가 명시되지 않은 함수와 구분됩니다. throw를 포함한 메서드, 이니셜라이저는 메서드, 이니셜라이저로 재정의 될 수 없습니다. 반대의 경우는 가능합니다 (throw가 없는 함수가 있는 함수로 재정의) enum ErrorReason: Error { case none case invalid } func vend() throws { var testError: Int? = nil guard let test = ..