показывает ли использование блока try catch в xcode ошибку на реальном устройстве?

StackOverflow https://stackoverflow.com/questions/1312400

Вопрос

мое приложение отлично работает в симуляторе ... но не на реальном устройстве .... и у меня взломанный iphone, поэтому я не могу отлаживать через устройство...если я использую try catch что-то вроде этого

@try
{
Statements
}

@catch (NSException *ex) {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:@"%@",ex]
                                                   delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alert show];
}

покажет ли мое приложение ошибку в alertview перед сбоем?

если нет, то как я мог бы найти, где находится ошибка?

Это было полезно?

Решение

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

Другие советы

Это будет работать до тех пор, пока ваш блок @catch не выдает никаких исключений при попытке создать UIAlertView.Убедитесь, что вы release или autorelease это, и поддерживать UIAlertViewDelegate протокол.

Попробуй это:

UIAlertView *alert = [[UIAlertView alloc]
 initWithTitle:[ex name]
 message:[ex reason]
 delegate:self
 cancelButtonTitle:@"OK"
 otherButtonTitles: nil];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top