#33331: Improve exception handling with `cursor.close()` after errors
-------------------------------------+-------------------------------------
     Reporter:  Daniel Hahler        |                    Owner:  nobody
         Type:                       |                   Status:  closed
  Cleanup/optimization               |
    Component:  Database layer       |                  Version:  3.2
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:  wontfix
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  1                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by Daniel Hahler):

 Sorry for not having read the mailing list thread yet, but only your
 summary of it above.
 I think the main issue with context vs. cause is an important detail.  I
 can see that it might not worth changing it all over the code base, but it
 should be considered when fixing code.

 The main issue I see here is that there will be an exception almost always
 (at least with named cursors in PostgreSQL AFAICS), and therefore it
 should not even be chained in this case: it really just hides the actual
 error, just because it is trying to ensure a (never properly opened/used)
 cursor is closed always.

 I might follow up on the mailing list, but do not really feel like
 subscribing there also etc, especially since the issue here is not about
 context or cause, but only using `raise from` properly (according to
 https://blog.ram.rachum.com/post/621791438475296768/improving-python-
 exception-chaining-with) when not swallowing/hiding the expected
 exception.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/33331#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.74c47913aeea05683a575dc75e8abf8c%40djangoproject.com.

Reply via email to