在 try catch 块中打印 NSError

Posted

技术标签:

【中文标题】在 try catch 块中打印 NSError【英文标题】:Print NSError in try catch block 【发布时间】:2012-02-03 17:09:29 【问题描述】:

我很好奇是否有人知道如何在目标 c 中使用 try catch 来打印从 synchronousRequest 接收到的可能的 NSError。

我收到的错误是由于内存地址无效。我的 try catch 看起来像

@try
    NSLog(@"%@", err);
 @catch(NSException *e)
    NSLog(@"No error thrown");
 

【问题讨论】:

error handling with NSURLConnection sendSynchronousRequest的可能重复 【参考方案1】:

@catch 块应该包含您想要在出现错误时运行的代码。

@try 
  // Do the request
  NSLog(@"No error thrown");
 @catch (NSException *e) 
  NSLog(@"%@", err);

【讨论】:

err 是一个 NSError 对象。我想把它打印出来,但是如果它没有被同步请求设置,那么它就是空的。那是因为我很笨,没有初始化它。我希望你能捕捉到一个未初始化的错误?我不知道为什么,但我认为它会在某个地方节省内存。

以上是关于在 try catch 块中打印 NSError的主要内容,如果未能解决你的问题,请参考以下文章

在catch块中捕获异常后,是否可以再次在try块中执行代码?

将所有内容包装在 try/catch 块中是不是构成防御性编程?

如何检查线程代码是不是在 try-catch 块中运行

即使代码在 try/catch 块中,我也会不断收到异常 [关闭]

即使代码在try / catch块中,我仍然会收到异常[关闭]

try-catch- finally块中, finally块唯一不执行的情况是什么?