firely-net-sdk
firely-net-sdk copied to clipboard
Better diagnostics when resolvers fail
The IResourceResolver
interface allows resolvers to return "null" when something "cannot be resolved". But the cause of something not being resolvable remains unclear. This has caused many hours of chasing down bugs where the resource could be resolved, but (most prominently) a StructureDefiniton could not be snapshotted.
It would be way better if we could somehow return a resource OR an error. Of course, this is a massively breaking change. But smaller changes would mean the error can be easily ignored. Throwing exceptions also is not a great solution, still a lot of code is currently checking for null.
Since the most problematic of these is the SnapshotSource, a temporary "hack" to check SnapshotSource.Outcome after resolution MAY work, but its not great.