Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

BaseException -> Exception #2453

Closed
wants to merge 1 commit into from
Closed

BaseException -> Exception #2453

wants to merge 1 commit into from

Conversation

kvirt
Copy link

@kvirt kvirt commented Oct 31, 2017

What do these changes do?

Fix swallow BaseException (KeyboardInterrupt)

Related issue number

#2444

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes
  • If you provide code modification, please add yourself to CONTRIBUTORS.txt
    • The format is <Name> <Surname>.
    • Please keep alphabetical order, the file is sorted by names.
  • Add a new news fragment into the CHANGES folder
    • name it <issue_id>.<type> for example (588.bug)
    • if you don't have an issue_id change it to the pr id after creating the pr
    • ensure type is one of the following:
      • .feature: Signifying a new feature.
      • .bugfix: Signifying a bug fix.
      • .doc: Signifying a documentation improvement.
      • .removal: Signifying a deprecation or removal of public API.
      • .misc: A ticket has been closed, but it is not of interest to users.
    • Make sure to use full sentences with correct case and punctuation, for example: "Fix issue with non-ascii contents in doctest text files."

@fafhrd91
Copy link
Member

This change will leak resources

@asvetlov
Copy link
Member

asvetlov commented Oct 31, 2017

@fafhrd91 do you suggest catching BaseException?

@fafhrd91
Copy link
Member

For sure If we need to release resourse. We still can re-raise

@arthurdarcet
Copy link
Contributor

For the two except in client.py, I agree with @fafhrd91, they should definitely stay BaseException. They are immediately re-raised so this PR would change any behaviour except that the transport wouldn't be properly closed when a BaseException is raised. This is exactly why #2441 was needed.

For the other two excepts, I think the set_exception call should be replaced with a raise if the exception is a BaseException (and not an Exception). But I'm having a hard time imagining use cases where the current code would lead to issues.
I guess there might be some edge cases where a BaseException would be swallowed into a future, and never really raised, so raising it immediately is safer.

@asvetlov
Copy link
Member

asvetlov commented Feb 9, 2018

Fixed in master

@asvetlov asvetlov closed this Feb 9, 2018
@lock
Copy link

lock bot commented Oct 28, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a [new issue] for related bugs.
If you feel like there's important points made in this discussion, please include those exceprts into that [new issue].
[new issue]: https://github.com/aio-libs/aiohttp/issues/new

@lock lock bot added the outdated label Oct 28, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Oct 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants