2012-03-21 146 views
5

我有以下代码:NSKeyedUnarchiver unarchiveObjectWithData崩溃 - 无法捕捉异常?

@try { 
    NSSet *set = [NSKeyedUnarchiver unarchiveObjectWithData:mData]; 
} 
@catch (NSException *exception) { 
    // Use default data 
} 

在某些时候,我似乎没有被正确归档和mData已损坏。 这给了我下面的错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '*** -[NSKeyedUnarchiver initForReadingWithData:]: 
incomprehensible archive (0x14, 0xffffff9a, 0xffffffd0, 0x1d, 0x9, 0x3d, 0x43, 0x3)' 
*** Call stack at first throw: 

如果try/catch块是不行的,我怎么来检查这里异常?它不应该工作吗?

谢谢。

+0

你有没有得到这个解决? – PICyourBrain 2015-06-25 15:40:55

+0

@PICyourBrain现在已经相当长时间了,不幸的是我不记得我做了什么。虽然当时我没有为那部分代码进行单元测试,所以我不确定问题是什么。 – dimitrios 2015-06-28 16:24:12

回答

0

我不认为try-catch代码不起作用。该日志说“未捕获的异常”,所以这个错误发生在你的代码中的其他地方。

+0

我有完全相同的问题,我也绝对使用try catch块。在我的情况下,它没有间断地捕捉它。 – PICyourBrain 2015-06-25 15:40:34