Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[C++][Pistache] Catch exception instead of runtime_error #3225

Merged

Conversation

muttleyxd
Copy link
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\. If contributing template-only or documentation-only changes which will change sample output, be sure to build the project first.
  • Filed the PR against the correct branch: master, 4.1.x, 5.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
    @ravinikam @stkrwork @etherealjoy @MartinDelille

Description of the PR

Currently method handlers catch std::runtime_error, which directly derives from std::exception.
I think it's valid behavior to throw std::invalid_argument from user defined handler, when incoming argument isn't valid.
std::invalid_argument is derived from std::logic_error, so it won't get caught by previous catch statement.

Also I fixed catch-value warning, four of these (should I separate this to another PR?)

model/Helpers.cpp: In function ‘bool org::openapitools::server::helpers::fromStringValue(const string&, double&)’:
model/Helpers.cpp:82:21: warning: catching polymorphic type ‘const class std::invalid_argument’ by value [-Wcatch-value=]
   catch (const std::invalid_argument) {

Nothing serious, since exception isn't used anyway

@etherealjoy etherealjoy added this to the 4.0.3 milestone Jun 26, 2019
@etherealjoy etherealjoy merged commit 68a5fa4 into OpenAPITools:master Jun 26, 2019
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants