> Interesting library. > > It seems that I cannot have a action finish with an error unless I raise an > exception. That seems limiting, there are lots of cases where I have code > that hits an error condition and does not raise an exception. For example > an HTTP request that gets a non 200 status. > > Have I missed something?
You don't have to raise an exception, though the current API requires you to create an exception instance: --- from eliot import start_action action = start_action(action_type="http_request"): with action.context(): response = http_request() if response.code == 200: action.finish() return response.json else: action.finish(HTTPError(code=response.code)) return None --- The Twisted APIs for Eliot likewise support Deferreds using a DeferredContext object, again with no need to raise an exception: https://eliot.readthedocs.io/en/stable/generating/twisted.html#actions-and-deferreds -Itamar _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python