There is a custom PHP error handler installed in both Echo and Flow around certain hook handlers. The handler converts would-be fatal exceptions of type E_RECOVERABLE_ERROR and throws Flow\Exception\CatchableFatalErrorException instead. This happens for undefined classes, or argument types, etc.
It is unclear why this is and also seems "surprising" from a debugging perspective in part because it is not limited to Flow/Echo scope, but also affects all other code executed from core and from extensions that may run from an Echo/Flow class invocation.
I would propose removing these custom error handling in favour of MediaWiki core's error handler handling these instead. Which means that in the case of core or Echo/Flow code having a problem relating to an undefined class or a argument type mis-match, it will produce a fatal error, as one would expect elsewhere.
Alternatively, if there is a logical dependency on this mechanism, we may want to bring that to TechCom and find another way that addresses the same underlying needs with a solution that works for everyone :)