<div dir="ltr"><div class="gmail_quote"><div><span class="gmail_default" style="font-family:"arial narrow",sans-serif">Ein anderer Ansatz (mache ich jedenfalls in meinen Programmen immer so):</span></div><div><span class="gmail_default" style="font-family:"arial narrow",sans-serif">Wenn verkettete Exceptions kommen ist eigentlich immer unsauber programmiert. Die Fälle wo </span></div><div><span class="gmail_default" style="font-family:"arial narrow",sans-serif">sich nicht absehen lässt was passiert, und Exceptions sich nicht so verarbeiten lassen dass </span></div><div><span class="gmail_default" style="font-family:"arial narrow",sans-serif">der Code danach sauber durchläuft, sind eigentlich die Ausnahme. </span></div><div><br></div><div><div class="gmail_default" style="font-family:"arial narrow",sans-serif">Ich kenne die Anwendung nicht, insofern kann ich auch nicht sagen ob der Ansatz funktioniert</div><div class="gmail_default" style="font-family:"arial narrow",sans-serif">oder das zu den Ausnahmen zählt.</div><div class="gmail_default" style="font-family:"arial narrow",sans-serif"><br></div><div class="gmail_default" style="font-family:"arial narrow",sans-serif">Arndt.</div><br></div><div><span class="gmail_default" style="font-family:"arial narrow",sans-serif"></span> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> Am 17.04.2019 um 13:17 schrieb Till Maas <<a href="mailto:opensource@till.name" target="_blank">opensource@till.name</a>>:<br>
> <br>
> Hi,<br>
> <br>
> in einem Python-Projekt an dem ich mitwirke ist aufgefallen, dass der<br>
> Default-Python3-Exception-Handler bei Ketten von Exceptions ausgibt,<br>
> welche Exceptions zuvor aufgetreten sind, Beispiel:<br>
> <br>
> Traceback (most recent call last):<br>
>  File "/home/fge/Source/nmstate/libnmstate/nm/checkpoint.py", line 125, in destroy<br>
>    self._manager.interface.CheckpointDestroy(self._dbuspath)<br>
>  File "/usr/lib64/python3.7/site-packages/dbus/proxies.py", line 70, in __call__<br>
>    return self._proxy_method(*args, **keywords)<br>
>  File "/usr/lib64/python3.7/site-packages/dbus/proxies.py", line 145, in __call__<br>
>    **keywords)<br>
>  File "/usr/lib64/python3.7/site-packages/dbus/connection.py", line 651, in call_blocking<br>
>    message, timeout)<br>
> dbus.exceptions.DBusException: org.freedesktop.NetworkManager.InvalidArguments: checkpoint /org/freedesktop/NetworkManager/Checkpoint/7 does not exist<br>
> <br>
> During handling of the above exception, another exception occurred:<br>
> <br>
> Traceback (most recent call last):<br>
>  File "/home/fge/Source/nmstate/libnmstate/netapplier.py", line 72, in commit<br>
>    nmcheckpoint.destroy()<br>
>  File "/home/fge/Source/nmstate/libnmstate/nm/checkpoint.py", line 127, in destroy<br>
>    raise NMCheckPointError(str(e))<br>
> libnmstate.nm.checkpoint.NMCheckPointError: org.freedesktop.NetworkManager.InvalidArguments: checkpoint /org/freedesktop/NetworkManager/Checkpoint/7 does not exist<br>
> <br>
> <br>
> Für mich sieht das sehr nützlich aus. Mein Mitstreiter hat allerdings<br>
> Bedenken, weil dies ja interne Details ausgibt (statt nur der Exception,<br>
> die Teil der API ist) und schlägt vor, die zu unterbinden mit<br>
> <br>
> raise from None<br>
> <br>
> Was sind Eure Erfahrungen/Meinungen dazu? Ist `raise from None` sinnvoll<br>
> oder nicht? Ich habe eher das Gefühl, dass nicht.<br>
> <br>
> Falles es Euch interessiert, Details gibt es hier:<br>
> <a href="https://github.com/nmstate/nmstate/pull/317#issuecomment-483901082" rel="noreferrer" target="_blank">https://github.com/nmstate/nmstate/pull/317#issuecomment-483901082</a><br>
> <br>
> Viele Grüße<br>
> Till<br>
> <br>
________________________________________<br>
<br>
Diese Mail erhalten Sie ueber die Mailingliste python-users der Universitaet zu Koeln<br>
Nachrichten an: <a href="mailto:python-users@uni-koeln.de" target="_blank">python-users@uni-koeln.de</a><br>
Abonnement und Benutzereinstellungen: <a href="https://lists.uni-koeln.de/mailman/listinfo/python-users" rel="noreferrer" target="_blank">https://lists.uni-koeln.de/mailman/listinfo/python-users</a><br>
Listenarchiv: <a href="https://lists.uni-koeln.de/pipermail/python-users/" rel="noreferrer" target="_blank">https://lists.uni-koeln.de/pipermail/python-users/</a><br>
<br>
pyCologne Homepage: <a href="http://pycologne.de/" rel="noreferrer" target="_blank">http://pycologne.de/</a><br>
</blockquote></div><br clear="all"><div><br></div><div dir="ltr" class="m_5986962099004391704gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr">----------------------------------------------------------------------------------------------<div><div style="font-size:12.8px"><a href="http://www.nive.co/" style="font-size:12.8px" target="_blank">nive.co</a></div><div style="font-size:12.8px">Arndt Droullier</div><div style="font-size:12.8px"><br></div></div></div></div></div></div></div>