2016-05-17 6 views
3

Есть ли способ конвертировать ошибку типа NSError в swift в строку?Swift convert NSError to String

Например, для чего-то вроде этого:

do { 
    try response.status(.OK).send(fileName: "html/index.html") 
} catch { 
    response.status(.FAIL).send(error.CONVERT_TO_STRING) 
} 

.send() ожидает строку по умолчанию.

+1

Вы хотите поймать ошибку, которая была брошена (в Swift) или ошибка http? – Alexander

+0

Я уточнил свой вопрос. – eclipse

+1

Нет, вы этого не сделали. Что это за ошибка? Перечисление? NSError? Не заставляй нас гадать. – matt

ответ

13

Если ваша ошибка типа NSError, вы можете использовать error.localizedDescription, чтобы получить строку.

+2

Это правда, однако ошибка в блоке Swatch 'catch' может быть не' NSError'. В этом случае неясно, есть ли это. –

+0

Мое предположение заключалось в том, что каждая ошибка в быстрой реализации должна реализовывать протокол ErrorType. Есть ли способ конвертировать объект этого типа в строку. – eclipse

+0

Неправильно, вам нужно будет узнать больше об ошибке, чтобы преобразовать ее в строку. Приведение в NSError, если это некоторое перечисление, которое реализует протокол ErrorType, будет бесполезным. –