OC_异常的处理与注意事项

799 阅读1分钟

异常

  • 异常是指程序可以进行编译,且在某种情况下,程序运行终止,并且不会运行后面的代码。

异常的处理

  • 目的:

    • 为了让程序在发生异常的情况下能够不发生崩溃,并且继续执行后面的代码。
  • 语法:

    @try{
        //可能出现异常的代码
    }@catch(NSExcetion *name){
        //捕获异常后执行的代码
    }
    
  • 解释:

    • 将有可能发生异常的代码放在@try的大括弧中,当捕捉到代码时程序不会崩溃,而是会跳转到@catch中执行内部的代码。
    • 当执行完@catch中的代码,程序将继续向下执行。
    • 如果没有发生异常,程序会跳过@catch中的代码,继续向下执行。
  • 关于@catch

    • @catch中一般会添加一些处理异常的代码,例如打印异常原因可以通过在@catch中直接打印NSExcetion定义的对象。
    @try{
        //可能出现异常的代码
    }@catch(NSExcetion *name){
       NSLog(@"%@",name);
    }
    
  • 关于@finally

    • @catch后还可以再加@finally
    @try{
        //可能出现异常的代码
    }@catch(NSExcetion *name){
        //捕获异常后执行的代码
    }@finally{
        //try结束后的代码
    }
    
    • 无论是否捕捉到异常,在@try...@catch运行完之后都会运行@finally内的代码。

注意事项

  • @try...@catch并不是万能的,它无法处理C语言发生的的异常。
  • 实际开发中@try...@catch使用的情况较少,最常用的还是逻辑判断。