Type errors are not caught by the React Promise implementation in PHP7. It's fairly trivial to implement catch-all for PHP7 and PHP5 without breaking BC.
try {
// call a success/error/progress handler
} catch (\Throwable $e) {
// handle $e
} catch (\Exception $e) {
// handle $e
}