No way to catch and retry errors from Step Functions tasks?

When a lambda throws an error to indicate failure, it looks like the Step Functions task always assigns the error code “Exception” to it regardless of the exception type. I think this makes it impossible to route custom errors through the Retry and Catch handlers. Is there any way around this?

This seems to be confirmed here: