показывает ли использование блока try catch в xcode ошибку на реальном устройстве?
-
19-09-2019 - |
Вопрос
мое приложение отлично работает в симуляторе ... но не на реальном устройстве .... и у меня взломанный 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];