The DesignSurface.Loaded event is raised for successful loads as well as unsuccessful ones. If code in this event handler throws an exception, the designer is unloaded.
The System.ComponentModel.Design.LoadedEventArgs object can be used to determine if loading succeeded, and it can also provide a list of errors that occurred during the load.
Errors can occur for successful loads as well, provided that the serialization system can tolerate errors.