Currently it is all too easy to have an exception swallowed by the framework and to not handle it. Issue #8 will help with this a little in void cases, but I have another idea.
There could be a checked FlowInProgress exception that is declared on all the methods apart from the ones that end a flow like join. This would give a compile time error if the exception is not caught or declared, which could prompt someone to end the flow. Ideally the compiler would also prevent catching the exception, not sure if that is possible.
This is all just a hack to try to make it hard to make the mistake of having swallowed exceptions that do not end up in the application logs.
Currently it is all too easy to have an exception swallowed by the framework and to not handle it. Issue #8 will help with this a little in void cases, but I have another idea.
There could be a checked
FlowInProgressexception that is declared on all the methods apart from the ones that end a flow likejoin. This would give a compile time error if the exception is not caught or declared, which could prompt someone to end the flow. Ideally the compiler would also prevent catching the exception, not sure if that is possible.This is all just a hack to try to make it hard to make the mistake of having swallowed exceptions that do not end up in the application logs.