Я хочу преобразовать сообщение об исключении в объект NSError, чтобы использовать его в блоке try-catch (на самом деле я работаю над собственный модуль iOS для React Native).
RCT_EXPORT_METHOD(myMethod:(NSDictionary *)dict
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
@try {
// Do something which could throw something (NS Error or NS Exception)
resolve(nil);
} @catch (NSException *exception) {
// HERE I WANT TO TRANSFORM THE EXCEPTION exception INTO AN ERROR error
NSError error = ???
reject(@"my_error", @"Could not do something important", error);
}
}
Я хочу преобразовать исключение в NSError
, потому что третий параметр функции reject
(которая отклоняет промис на стороне JS) ожидает, что ввод будет иметь тип NSError
. Я не уверен, является ли мое решение (с использованием try-catch) лучшим в этом сценарии.
В руководстве разработчика Apple говорит
Вы можете преобразовать исключение в объект NSError, а затем представить информацию в объекте ошибки пользователю на панели предупреждений.
Однако в руководстве не показан пример кода для этого, а показан только пример кода для второго подхода. Вы также можете возвращать их косвенно в методах, которые включают параметр ошибки, что кажется сложным для того, что я хочу.
Итак, как мне преобразовать исключение в NSError? Справочник по API NSError не содержит подходящей функции.
NSError
? Вам действительно нуженNSError
? - person rmaddy   schedule 22.04.2017NSError
и не могу использоватьNSException
. Или я мог? - person Andru   schedule 22.04.2017