@Override
    public void onHalfClose() {
        try {
            super.onHalfClose();
        } catch (final Throwable error) {
            // For errors from unary grpc method implementation methods directly (Not via StreamObserver)
            // For errors thrown in the request's StreamObserver#onCompleted
            this.exceptionHandler.handleError(this.serverCall, error);
        }
    }
Creates a new exception handling grpc server call listener.

@param delegate The listener to delegate to (Required).
@param serverCall The server call to used to send the error responses (Required).
@param exceptionHandler The exception handler to use (Required).
grpc-server-spring-boot-starter/src/main/java/net/devh/boot/grpc/server/error/GrpcExceptionListener.java