@appledad05,
There are a few questions in this forum re: Core Data Error Handling. I would appreciate it if a more experienced developer with CD provided some insight but I do have an initial response in the hopes that someone will chime in and correct or add to my comments below.
As I understand it, Inside creating this stack the fatal error is there to help you in development only to get it set up correctly. We want the app to crash if it hits this error. Once you have the stack set up to your satisfaction/ configuration then you know this error should not happen in production.
I am more concerned right now with testing my CRUD operations with CD and CloudKit. What I have found with using CD in comparison to just using CloudKit with no local persistence is that getting this stack set up correctly handles a lot of the errors that I typically was concerned with in CloudKit.
For example, saving to a local store with the NSPersistentCloudKitContainer set up correctly tends to handle most networking and CloudKit errors as CD handles them on the back end.
That has not solved a few problems for me though. Even if everything is configured and setup correctly you might have a user download the app that does not have iCloud Drive enabled or has maxed out their iCloud Storage data. In these cases you will still have a working app but data will not be in the cloud and therefore will not sync with other devices.
I can check for 'iCloud Drive on' easy enough before performing an operation but have not figured out where these errors express themselves in the Core data error handling as that is handled typically back end. It might save to the local store correctly avoiding a throw on your save operation but it is not clear if it is providing any kind of feedback on iCloud Storage being exceeded.
I hope this helps and look forward to seeing other responses.
Thanks