-
Notifications
You must be signed in to change notification settings - Fork 3
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
Fouten laten opborrelen #68
Comments
Als ik me goed herinner geeft CAPAKEY WS bij een niet bestaand perceel een runtime fout. Ik denk dat er geen verschil was tussen een niet bestaand perceel en een foute call. Zie #49 en OnroerendErfgoed/crabpy_pyramid#25 |
Denk dat dit probleem wel kan opgevangen worden met de nieuwe REST service (#45) |
Zou op dit ogenblik zeer goed van pas komen. |
Bij de WS Capakey is het dacht ik niet op te vangen. Geen idee hoe het nu in de REST versie gaat werken. Lijkt me best dat we eerst de bugs oplossen en dan de REST versie deployen op het geoportaal zodat we kunnen zien waar we nu staan. |
Je kan op het moment van oorspronkelijke falen toch de ws.fault loggen? |
Sinds python3 heb je En met future lib voor python2 compatibility: # Python 2 and 3:
from future.utils import raise_from
raise_from(DatabaseError('failed to open'), exc) Default logging (python 3) van zo'n error is dan zoals:
voor volgende code: def something():
raise ValueError("Original error")
def main():
try:
something()
except Exception as e:
raise TypeError("New error") from e
try:
main()
except Exception as e:
print(e.__cause__) # "Original error"
print(e) # "New error"
raise Note: die default logging van "The above exception was the direct cause of the following exception:" is wel enkel vanaf python3, zelfs met de future lib in python2. |
https://github.com/OnroerendErfgoed/crabpy/blob/master/crabpy/gateway/capakey.py#L48
Als op dat punt een GatewayRuntimeException wordt gegenereerd wordt die later vervangen door een GatewayResourceNotFoundException. Op dat punt zijn we eigenlijk volledig kwijt wat de oorspronkelijke fout was. Ofwel de oorspronkelijke foutboodschap mee doorsturen naar boven of error logging voorzien bij de root exception.
The text was updated successfully, but these errors were encountered: