
Hi Inada,
Note that the discussion not only in the b.p.o thread, but in this mailing list too. Please read this long thread.
I have, but I don't know if I want to step in... I do have, indeed, opinions (and some expertise) on the matter, but I've never really thought about it in depth... In short, I believe that the tutorial was originally intended for the beginners... except, the very definition of "beginner" has shifted a lot in the meantime, as the audience of Python users widened. This poses difficulties that in my opinion could be solved only by rewriting the tutorial from scratch, or maybe by adding a new one to the existing one. In any case, I think that any changes to the tutorial should not be done in the same way as the rest of the documentation, but ideally only through an editorial, centralized, process. In the meantime, I would insist that any changes should be made very carefully, especially when we delete something.
For the record, when I removed the __cause__ from the tutorial, I believe I was careful and conservative enough. I think from exc syntax is not new Python users should know. Documenting implicit chaining is enough for 99% use cases, and from None covers 0.99% of the rest.
As I said, I have no strong opinion on this particular case. Rather, I am slightly concerned about the method in itself - that a deletion may occur following only a brief exchange on the bug tracker. For what it's worth, however, I would have kept the passing mention on __cause__, and would have added a passing mention on __context__ too. It's not what I would write today in a tutorial for the "modern" beginner, but it's certainly more *consistent* with what the tutorial is right now.
So I considered removing explicit chaining (e.g. from exc) from the section too.
See... this is what really concerns me. At some point someone may decide out of the blue to remove an entire important concept from the tutorial because "it's just noise for a beginner". Now in this case thankfully the article in the documentation does a good job of explaining exception chaining in plain language (that's not a good reason not to keep at least one mention in the tutorial as well, however). But very often the documentation is very terse and the tutorial is the only place where some concepts are presented in a discursive way ... even if not "beginner friendly". All in all, although I understand that the tutorial should be completely revised, I would still recommend the utmost caution especially when deleting information. best, riccardo