No puedo detectar el "No hay espacio dejado en el dispositivo" cuando uso la function NSFileHandle writedata

Utilicé NSFileHandle para writedata en un file.

NSFilehandle *handle = [NSFileHandle fileHandleForWritingAtPath:@"path/of/file"]; @try { [handle writedata:data]; } @catch (NSException *e) { // when exception occur, never got here NSLog(@"%@", e); } 

Como el espacio en disco de mi dispositivo está lleno, fallará la escritura de writedata. Pero no puedo captar la exception.

Mi información de logging del progtwig:

 2014-05-23 16:17:24.435 mytest[12919:3203] An uncaught exception was raised 2014-05-23 16:17:24.435 mytest[12919:3203] *** -[NSConcreteFileHandle writeData:]: No space left on device 2014-05-23 16:17:24.436 mytest[12919:3203] ( 0 CoreFoundation 0x00007fff8fae725c __exceptionPreprocess + 172 1 libobjc.A.dylib 0x00007fff8cbb3e75 objc_exception_throw + 43 2 CoreFoundation 0x00007fff8fae710c +[NSException raise:format:] + 204 3 Foundation 0x00007fff93640f31 __34-[NSConcreteFileHandle writeData:]_block_invoke + 84 4 Foundation 0x00007fff93840020 __49-[_NSDispatchData enumerateByteRangesUsingBlock:]_block_invoke + 32 5 libdispatch.dylib 0x00007fff8bfc2fad _dispatch_client_callout3 + 9 6 libdispatch.dylib 0x00007fff8bfc2f28 _dispatch_data_apply + 113 7 libdispatch.dylib 0x00007fff8bfc9502 dispatch_data_apply + 31 8 Foundation 0x00007fff9383fff9 -[_NSDispatchData enumerateByteRangesUsingBlock:] + 83 9 Foundation 0x00007fff93640ed2 -[NSConcreteFileHandle writeData:] + 150 10 ZiSyncMac 0x000000010000b1eb -[TransferFile writePart:data:] + 475 

Me integer de que la writedata llama a un despacho para hacer datos de escritura reales al sistema de files. Entonces creo que writedata lanzará una exception en GCD.

¿Cómo manejo la exception de GCD en mi código?