<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jul 6, 2017 at 2:56 PM, Steven D'Aprano <span dir="ltr"><<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_927574253685861792m_-1978358327330277066gmail-">> Maybe I'm misunderstanding you, but the proposal has a clear example of<br>
> raising NameError and getting the name attribute from the exception<br>
> instance:<br>
><br>
>     try:<br>
>         raise NameError(name=name, template="name '{name}' is not defined.")<br>
>     except NameError as e:<br>
>         name = e.kwargs['name']<br>
>         msg = str(e)<br>
>         ...<br>
<br>
</span>What prevents the programmer from writing this?<br>
<br>
raise NameError(nym=s, template="name '{nym}' is not defined.")<br>
<br>
Or any other keyword name for that matter. Since the exception class<br>
accepts arbitrary keyword arguments, we have to expect that it could be<br>
used with arbitrary keyword arguments.<br></blockquote><div><br></div><div>I agree completely with your point here, as well as the overall conclusion that the proposal to change BaseException is a bad idea. I was merely replying to [what I perceived as] straw manning of the proposal.</div></div></div></div>