RequestException is always thrown, whatever the error code is

Referring to your doc, you must not throw a new RequestException here because you'll never call ApiException.createException() so CardException, ValidationException and other exceptions inhereted from ApiException can not be thrown.