Como lidar com exceções em objective-c em ios
Em Objective-C, exceções lidar com condições inesperadas em seu programa. Considere o seguinte ao criar o código, de modo a evitar falhas dentro de seus aplicativos iOS. Preste muita atenção para:
Conteúdo
Uma declaração de alocação falha porque o seu sistema ficar sem memória.
Bad entrada recebe em seu programa fazendo com que (digamos) um erro de divisão por zero.
Video: Adventures in the Objective-C Runtime (/dev/world/2012)
Seu programa erroneamente tenta acessar um array com um índice que está fora dos limites.
Video: Sign in series #2: Adding Google Sign-in to your iOS App (Route 85)
Excepções aplicar o princípio orientada a objectos de separação de preocupações que é a ideia de dividir uma aplicação em componentes distintos que se sobrepõem na funcionalidade tão pouco quanto possível. O valor da separação de interesses é simplificar o desenvolvimento e manutenção de programas de computador.
Video: XCode Quick Tips: Delegates in iOS - Sending Data Back To View Controllers
Quando preocupações estão bem separadas, seções individuais pode ser desenvolvido e atualizado de forma independente. Exceções também automatizar a propagação de uma condição inesperada para o ponto onde ele é tratado. Como resultado, seu código não está cheio de declarações de tratamento de exceção, o que torna o código mais fácil de escrever e manter.
Objectivo-C estende-se C, fornecendo quatro directivas do compilador para o processamento de excepções:
@try define um bloco de tratamento de excepção (isto é, um código que pode accionar uma excepção).
Video: ENGORDEI E MEU NAMORO ESTÁ EM CRISE | COMO LIDAR?
@catch () define um bloco de código de manuseamento de excepção jogado no bloco @try. O parâmetro de @catch é o objeto de exceção thrown- este é geralmente um objeto NSException.
@finally define um bloco de código que é executado ou não uma exceção é lançada.
@throw gera uma exceção - um objecto NSException ou, mais frequentemente, um objecto pertencendo a uma subclasse de NSException.
O código a seguir mostra como exceções podem ser geradas, capturados e manipulados dentro de um @ tentar ... @ bloco catch.
@try {printf ("Eu sei que isso vai failn") * -NSDictionary emptyDictionary = [[NSDictionary alloc] Init] -NSException * anException = [NSException exceptionWithName: @"MyException" razão:@"Apenas para sorrisos" userInfo: emptyDictionary] - @ jogar anException -} @ catch (NSException * exceção) {NSLog (@"Exceção pego com razão gt;% @