@edyth
В языке Swift NSError
и Error
представляют разные типы. Однако, можно сконвертировать NSError
в Error
, используя метод asError()
.
Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
func doSomething() throws { let nsError = NSError(domain: "MyDomain", code: 1, userInfo: nil) throw nsError } do { try doSomething() } catch let error as NSError { // Convert to Error type throw error.asError() } catch { // Handle other errors } |
Обратите внимание, что при использовании этого подхода информация об ошибке может быть потеряна. Поэтому, если вы используете свои собственные классы ошибок, то лучше передавать экземпляр соответствующего класса вместо простого преобразования NSError
в Error
.