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:

  • 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;% @

Publicações relacionadas