Iphone: попробуйте попробовать
Есть ли в objective-C любой способ увидеть, можно ли выполнить определенную задачу без риска срыва приложения?
Другие языки, такие как javascript, имеют
try
{
//Run some code here
}
catch(err)
{
//Handle errors here
}
есть ли что-нибудь в Objective-C?
Если да, то какой синтаксис?
спасибо.
Ответы
Ответ 1
Посмотрите Обработка исключений:
Cup *cup = [[Cup alloc] init];
@try {
[cup fill];
}
@catch (NSException *exception) {
NSLog(@"main: Caught %@: %@", [exception name], [exception reason]);
}
@finally {
[cup release];
}
Также стоит посмотреть: Руководство по программированию ошибок
Ответ 2
В то время как ответ Феликса технически правильный, это не вся история.
В iOS и Mac OS X исключения используются для указания невосстановимых ошибок программы. Исключения не используются для указания ошибок пользователя или восстанавливаемых ошибок, например, на Java.
Любое исключение, проходящее через код системы, оставит указанную инфраструктуру в состоянии undefined. Улавливание указанных исключений и попытка восстановления из нее приведут к утечкам памяти, поведению и сбоям undefined.
Ответ 3
Реальный вопрос: что вы пытаетесь сделать в этом блоке блокировки ошибок?
Существуют различные способы подключения к различным видам ошибок. Каким кодом вы конкретно хотите выглядеть в таком блоке?