@try {
    // 可能会抛出异常的代码块

} @catch (NSException *exception) {
    // 处理 @try 块抛出的异常
    NSLog(@"%@, %@", [exception name], [exception reason]);

} @finally {
    // 无论是否抛出异常都要被执行的代码块
}
  • 当出现异常时,@catch 块被执行。包涵异常信息的 NSException 对象作为参数传递给这个块。
  • name 监测异常的名称,reason 方法给出原因(运行时系统还是会将原因自动输出)。
  • 在 @catch 块中的最后一条语句执行后,程序会立即执行之后的语句,程序并不会终止运行。

2、注意

  • 在 iOS 开发时很少使用 try catch 错误处理机制,因为 iOS ARC 开发时,所有 retain, release, autorelease 都是编译自动增加的,
  • 一旦使用了 try catch,程序如果出现异常,系统没有办法准确的判断第几个语句出现问题,导致 retain, release 失衡,会造成内存泄漏。

相关文章:

  • 2022-12-23
  • 2021-10-15
  • 2022-12-23
  • 2021-09-11
  • 2022-02-14
  • 2021-07-22
  • 2021-10-08
猜你喜欢
  • 2022-03-08
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案