Как превратить nserror в error в swift?

Пользователь

от edyth , в категории: Swift , 7 месяцев назад

Как превратить nserror в error в swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от violette_robel , 7 месяцев назад

@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.