Package net.dv8tion.jda.api.exceptions
Class ErrorResponseException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- net.dv8tion.jda.api.exceptions.ErrorResponseException
-
- All Implemented Interfaces:
Serializable
public class ErrorResponseException extends RuntimeException
Indicates an unhandled error that is returned by Discord API Request usingRestAction
It holds anErrorResponse
- See Also:
ErrorHandler
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ErrorResponseException.ErrorCode
An error for aErrorResponseException.SchemaError
.static class
ErrorResponseException.SchemaError
Schema error which supplies more context to a ErrorResponse.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ErrorResponseException
create(ErrorResponse errorResponse, Response response)
int
getErrorCode()
The discord error code for this error response.ErrorResponse
getErrorResponse()
TheErrorResponse
corresponding for the received error response from DiscordString
getMeaning()
The meaning for this error.Response
getResponse()
The Discord Response causing the ErrorResponseList<ErrorResponseException.SchemaError>
getSchemaErrors()
TheSchemaErrors
for this error response.static Consumer<Throwable>
ignore(Collection<ErrorResponse> set)
Ignore the specified set of error responses.static Consumer<Throwable>
ignore(Consumer<? super Throwable> orElse, Collection<ErrorResponse> set)
Ignore the specified set of error responses.static Consumer<Throwable>
ignore(Consumer<? super Throwable> orElse, ErrorResponse ignored, ErrorResponse... errorResponses)
Ignore the specified set of error responses.static Consumer<Throwable>
ignore(ErrorResponse ignored, ErrorResponse... errorResponses)
Ignore the specified set of error responses.boolean
isServerError()
Whether this is an internal server error from discord (status 500)-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
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 String getMeaning()
The meaning for this error.
It is possible that the value from this method is different forserver 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
-
getErrorResponse
public ErrorResponse getErrorResponse()
TheErrorResponse
corresponding for the received error response from Discord- Returns:
ErrorResponse
-
getResponse
public Response getResponse()
The Discord Response causing the ErrorResponse- Returns:
Response
-
getSchemaErrors
@Nonnull public List<ErrorResponseException.SchemaError> getSchemaErrors()
TheSchemaErrors
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
-
create
public static ErrorResponseException create(ErrorResponse errorResponse, Response response)
-
ignore
@Nonnull public static Consumer<Throwable> ignore(@Nonnull 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 forRestAction.getDefaultFailure()
which ignores the specifiedErrorResponses
- Throws:
IllegalArgumentException
- If provided with null or an empty collection
-
ignore
@Nonnull public static Consumer<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 responseerrorResponses
- Additional error responses to ignore- Returns:
Consumer
decorator forRestAction.getDefaultFailure()
which ignores the specifiedErrorResponses
- Throws:
IllegalArgumentException
- If provided with null
-
ignore
@Nonnull public static Consumer<Throwable> ignore(@Nonnull Consumer<? super 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 ignoredignored
- Ignored error responseerrorResponses
- Additional error responses to ignore- Returns:
Consumer
decorator for the provided callback which ignores the specifiedErrorResponses
- Throws:
IllegalArgumentException
- If provided with null
-
ignore
@Nonnull public static Consumer<Throwable> ignore(@Nonnull Consumer<? super Throwable> orElse, @Nonnull 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 ignoredset
- Set of ignored error responses- Returns:
Consumer
decorator for the provided callback which ignores the specifiedErrorResponses
- Throws:
IllegalArgumentException
- If provided with null or an empty collection
-
-