2012-03-21 133 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