2010-04-27 8 views
4

Что такое синтаксис для обработки исключений в iphone sdk? как обрабатывать исключения в iphone. какую документацию нужно знать больше? учебник, образец кода наиболее востребованы и благодарны.Обработка исключений в iphone?

+0

Возможные Дублировать Вопрос: http://help.aliexpress.com/new_user_guide.html //stackoverflow.com/a/12068967/846372 – Soniya

ответ

6

Исключения в Objective-C довольно спорная проблема, даже приложение сами сами препятствуют вам использовать их, если это абсолютно необходимо.

Моим первым вопросом было бы то, чего вы хотите добиться от обработки исключений? Если вы смотрите с точки зрения Java и как исключения настолько жестко интегрированы в этот язык для обработки ошибок (например, управления потоком), то я думаю, что для этой цели нецелесообразно использовать объектные исключения c, вам нужно использовать ошибки NSError и обрабатывать ошибки сюда.

Это фрагмент из яблок документации: -

Исключением являются ресурсоемкими в Objective-C. Вы не должны использовать исключения для общего управления потоком, или просто для обозначения ошибок. Вместо вы должны использовать возвращаемое значение метода или функции , чтобы указать, что произошла ошибка , и предоставить информацию о неполадке в объекте ошибки . Для получения дополнительной информации см Error Handling Programming Guide For Cocoa.

+0

интересный комментарий, наверняка. основная цель исключений - сделать то, что говорит яблоко, чтобы не использовать их. чтение вашего серого текста, вот почему исключения полезны. – KevinDTimm

+1

«Вы не должны использовать исключения ... для обозначения ошибок». *В самом деле*? В этом случае я неправильно использовал исключения в течение длительного времени: P –

+0

Исключения должны быть для исключительных условий, которые не должны происходить, независимо от того, что делает пользователь. Они могут означать ошибки, но ошибки должны быть очень редкими и заканчиваться заявлением. Если вам нужно поймать распространенные ошибки (невозможно записать на диск, не удалось подключиться к сети и т. Д.) И представить их пользователю, рекомендуется использовать NSError. –

4

документация знакомства Apple, по обработке исключений в Objective-C:

Простой пример из документации:

Cup *cup = [[Cup alloc] init]; 

@try { 
    [cup fill]; 
} 
@catch (NSException *exception) { 
    NSLog(@"main: Caught %@: %@", [exception name], [exception reason]); 
} 
@finally { 
    [cup release]; 
} 
Смежные вопросы