Class ErrorResponseException

  • All Implemented Interfaces:
    java.io.Serializable

    public class ErrorResponseException
    extends java.lang.RuntimeException
    Indicates an unhandled error that is returned by Discord API Request using RestAction
    It holds an ErrorResponse
    See Also:
    ErrorHandler, Serialized Form
    • Method Detail

      • isServerError

        public boolean isServerError()
        Whether this is an internal server error from discord (status 500)
        Returns:
        True, if this is an internal server error ErrorResponse.SERVER_ERROR
      • getMeaning

        public java.lang.String getMeaning()
        The meaning for this error.
        It is possible that the value from this method is different for server errors
        Returns:
        Never-null meaning of this error.
      • getErrorCode

        public int getErrorCode()
        The discord error code for this error response.
        Returns:
        The discord error code.
        See Also:
        Discord Error Codes
      • getResponse

        public Response getResponse()
        The Discord Response causing the ErrorResponse
        Returns:
        Response
      • getSchemaErrors

        @Nonnull
        public java.util.List<ErrorResponseException.SchemaError> getSchemaErrors()
        The SchemaErrors for this error response.
        These errors provide more context of what part in the body caused the error, and more explanation for the error itself.
        Returns:
        Possibly-empty list of SchemaError
      • ignore

        @Nonnull
        public static java.util.function.Consumer<java.lang.Throwable> ignore​(@Nonnull
                                                                              java.util.Collection<ErrorResponse> set)
        Ignore the specified set of error responses.

        Example

        
         // Creates a message with the provided content and deletes it 30 seconds later
         public static void selfDestruct(MessageChannel channel, String content) {
             channel.sendMessage(content).queue((message) ->
                 message.delete().queueAfter(30, SECONDS, null, ignore(EnumSet.of(UNKNOWN_MESSAGE)))
             );
         }
         
        Parameters:
        set - Set of ignored error responses
        Returns:
        Consumer decorator for RestAction.getDefaultFailure() which ignores the specified ErrorResponses
        Throws:
        java.lang.IllegalArgumentException - If provided with null or an empty collection
      • ignore

        @Nonnull
        public static java.util.function.Consumer<java.lang.Throwable> ignore​(@Nonnull
                                                                              ErrorResponse ignored,
                                                                              @Nonnull
                                                                              ErrorResponse... errorResponses)
        Ignore the specified set of error responses.

        Example

        
         // Creates a message with the provided content and deletes it 30 seconds later
         public static void selfDestruct(MessageChannel channel, String content) {
             channel.sendMessage(content).queue((message) ->
                 message.delete().queueAfter(30, SECONDS, null, ignore(UNKNOWN_MESSAGE))
             );
         }
         
        Parameters:
        ignored - Ignored error response
        errorResponses - Additional error responses to ignore
        Returns:
        Consumer decorator for RestAction.getDefaultFailure() which ignores the specified ErrorResponses
        Throws:
        java.lang.IllegalArgumentException - If provided with null
      • ignore

        @Nonnull
        public static java.util.function.Consumer<java.lang.Throwable> ignore​(@Nonnull
                                                                              java.util.function.Consumer<? super java.lang.Throwable> orElse,
                                                                              @Nonnull
                                                                              ErrorResponse ignored,
                                                                              @Nonnull
                                                                              ErrorResponse... errorResponses)
        Ignore the specified set of error responses.

        Example

        
         // Creates a message with the provided content and deletes it 30 seconds later
         public static void selfDestruct(MessageChannel channel, String content) {
             channel.sendMessage(content).queue((message) ->
                 message.delete().queueAfter(30, SECONDS, null, ignore(Throwable::printStackTrace, UNKNOWN_MESSAGE))
             );
         }
         
        Parameters:
        orElse - Behavior to default to if the error response is not ignored
        ignored - Ignored error response
        errorResponses - Additional error responses to ignore
        Returns:
        Consumer decorator for the provided callback which ignores the specified ErrorResponses
        Throws:
        java.lang.IllegalArgumentException - If provided with null
      • ignore

        @Nonnull
        public static java.util.function.Consumer<java.lang.Throwable> ignore​(@Nonnull
                                                                              java.util.function.Consumer<? super java.lang.Throwable> orElse,
                                                                              @Nonnull
                                                                              java.util.Collection<ErrorResponse> set)
        Ignore the specified set of error responses.

        Example

        
         // Creates a message with the provided content and deletes it 30 seconds later
         public static void selfDestruct(MessageChannel channel, String content) {
             channel.sendMessage(content).queue((message) ->
                 message.delete().queueAfter(30, SECONDS, null, ignore(Throwable::printStackTrace, EnumSet.of(UNKNOWN_MESSAGE)))
             );
         }
         
        Parameters:
        orElse - Behavior to default to if the error response is not ignored
        set - Set of ignored error responses
        Returns:
        Consumer decorator for the provided callback which ignores the specified ErrorResponses
        Throws:
        java.lang.IllegalArgumentException - If provided with null or an empty collection