주리 파카스테: 오늘 알았는데, 스위프트로 타이핑 완료
저자는 Swift의 타입이 지정된 throws에서 오류 처리를 단순화하는 유용한 기능을 발견했습니다. 처음에는 특정 오류 유형에 대해 타입이 지정된 throws가 매우 유용하다고 생각했지만, 복잡한 코드 블록이 Swift가 오류 유형을 'any Error'로 확장하게 만드는 문제를 겪었습니다. 이는 'catch' 블록이 더 이상 오류를 정확하게 타입 지정하지 못하게 하여 컴파일 문제를 야기했습니다. 그들의 해결책은 'catch let error as MyError'를 사용하는 것이었지만, 이는 도달할 수 없는 catch-all 블록을 필요로 하여 오류 처리를 불완전하고 좌절스럽게 만들었습니다. 결정적인 발견은 'do throws(MyError)' 구문이었습니다. 'do' 블록에서 예상되는 오류 유형을 명시적으로 선언함으로써 Swift 컴파일러는 정확한 오류 타입 지정을 유지합니다. 이 우아한 솔루션은 컴파일러가 혼동되는 것을 방지하여 'catch' 블록이 지정된 오류 유형을 올바르게 처리하도록 보장합니다. 이 기능은 Swift에서 타입이 지정된 throws를 사용할 때 오류 처리의 명확성과 완전성을 향상시킵니다. 저자의 원래 개선 제안에서 이 세부 사항을 간과한 것은 상당한 누락이었습니다. 이제 모든 것이 타입이 잘 지정된 유니콘과 햇살입니다.