Handle blank lines in the sample app and fix problems with schema_exception#71
Merged
wravery merged 2 commits intomicrosoft:masterfrom Sep 1, 2019
Merged
Handle blank lines in the sample app and fix problems with schema_exception#71wravery merged 2 commits intomicrosoft:masterfrom
wravery merged 2 commits intomicrosoft:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This turned into a bigger change than I expected. While testing the input for the sample app, I tried a bunch of queries that threw
schema_exceptionand eventually crashed. Part of the problem was that I deleted the copy constructor on schema_exception, but that's part of the interface forstd::exceptionwhich is used bystd::exception_ptr, and it ended up dropping the_errorsmember in the copy operation.Once that was fixed, I noticed that higher levels were eating
schema_exceptionalong withstd::exceptionand turning more specific error messages into "Unknown error" messages at that level of the query. I addedcatch (schema_exception &)blocks to each of those spots, and instead of turning it into a single generic error message it will either propagate the schema_exception or append its error messages to the list of errors that will later be rethrown in aschema_exception.