использование блока try catch в xcode показывает ошибку на реальном устройстве? - PullRequest
4 голосов
/ 21 августа 2009

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

@try
{
Statements
}

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

будет ли мое приложение показывать ошибку в окне предварительного просмотра перед сбоем?

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

Ответы [ 3 ]

4 голосов
/ 21 августа 2009

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

0 голосов
/ 24 августа 2009

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

UIAlertView *alert = [[UIAlertView alloc]
 initWithTitle:[ex name]
 message:[ex reason]
 delegate:self
 cancelButtonTitle:@"OK"
 otherButtonTitles: nil];
0 голосов
/ 21 августа 2009

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

...