Closed rcardin closed 15 hours ago
Hey - sure, a PR would be great. Definitely we don't want any situations where Ox's code just "hangs". Worst case it should throw at least some exception. So maybe that's a wider problem, but let's start with race
.
I'm the maintainer of the library
raise4s
(link to the repo here). I use context functions to let the user declare functions that can raise logic-typed errors instead of exceptions. Jon Pretty is doing something close to my library with Contingency.I'd love to integrate with
ox
and write code like the following:However, the above code doesn't work. In detail, the execution of the
race
function never stops.The implementation of the
raise
method uses the following exception:However, the implementation of the
ox.race
function handles the execution of the given lambdas through aTry
:Unfortunately, the
Try
type doesn't handle exceptions extendingControlThrowable
. You can find here more details.I already tried changing the
ox
code locally to add the handling ofControlThrowable,
and everything started to integrate smoothly.Can I open a PR to address the problem? Would you like to chat about it first?