@Override
    public <ReqT, RespT> Listener<ReqT> interceptCall(
            final ServerCall<ReqT, RespT> call,
            final Metadata headers,
            final ServerCallHandler<ReqT, RespT> next) {

        try {
            final GrpcExceptionServerCall<ReqT, RespT> handledCall =
                    new GrpcExceptionServerCall<>(call, this.exceptionHandler);
            final Listener<ReqT> delegate = next.startCall(handledCall, headers);
            return new GrpcExceptionListener<>(delegate, call, this.exceptionHandler);

        } catch (final Throwable error) {
            // For errors from grpc method implementation methods directly (Not via StreamObserver)
            this.exceptionHandler.handleError(call, error); // Required to close streaming calls
            return noOpCallListener();
        }
    }
Creates a new GrpcAdviceExceptionInterceptor.

@param grpcAdviceExceptionHandler The exception handler to use.
grpc-server-spring-boot-starter/src/main/java/net/devh/boot/grpc/server/error/GrpcExceptionInterceptor.java