292 lines
8.3 KiB
Java
292 lines
8.3 KiB
Java
/*
|
|
* Copyright (c) 2015-present, Parse, LLC.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
package com.parse;
|
|
|
|
/**
|
|
* A ParseException gets raised whenever a {@link ParseObject} issues an invalid request, such as
|
|
* deleting or editing an object that no longer exists on the server, or when there is a network
|
|
* failure preventing communication with the Parse server.
|
|
*/
|
|
public class ParseException extends Exception {
|
|
private static final long serialVersionUID = 1;
|
|
private int code;
|
|
|
|
public static final int OTHER_CAUSE = -1;
|
|
|
|
/**
|
|
* Error code indicating the connection to the Parse servers failed.
|
|
*/
|
|
public static final int CONNECTION_FAILED = 100;
|
|
|
|
/**
|
|
* Error code indicating the specified object doesn't exist.
|
|
*/
|
|
public static final int OBJECT_NOT_FOUND = 101;
|
|
|
|
/**
|
|
* Error code indicating you tried to query with a datatype that doesn't support it, like exact
|
|
* matching an array or object.
|
|
*/
|
|
public static final int INVALID_QUERY = 102;
|
|
|
|
/**
|
|
* Error code indicating a missing or invalid classname. Classnames are case-sensitive. They must
|
|
* start with a letter, and a-zA-Z0-9_ are the only valid characters.
|
|
*/
|
|
public static final int INVALID_CLASS_NAME = 103;
|
|
|
|
/**
|
|
* Error code indicating an unspecified object id.
|
|
*/
|
|
public static final int MISSING_OBJECT_ID = 104;
|
|
|
|
/**
|
|
* Error code indicating an invalid key name. Keys are case-sensitive. They must start with a
|
|
* letter, and a-zA-Z0-9_ are the only valid characters.
|
|
*/
|
|
public static final int INVALID_KEY_NAME = 105;
|
|
|
|
/**
|
|
* Error code indicating a malformed pointer. You should not see this unless you have been mucking
|
|
* about changing internal Parse code.
|
|
*/
|
|
public static final int INVALID_POINTER = 106;
|
|
|
|
/**
|
|
* Error code indicating that badly formed JSON was received upstream. This either indicates you
|
|
* have done something unusual with modifying how things encode to JSON, or the network is failing
|
|
* badly.
|
|
*/
|
|
public static final int INVALID_JSON = 107;
|
|
|
|
/**
|
|
* Error code indicating that the feature you tried to access is only available internally for
|
|
* testing purposes.
|
|
*/
|
|
public static final int COMMAND_UNAVAILABLE = 108;
|
|
|
|
/**
|
|
* You must call Parse.initialize before using the Parse library.
|
|
*/
|
|
public static final int NOT_INITIALIZED = 109;
|
|
|
|
/**
|
|
* Error code indicating that a field was set to an inconsistent type.
|
|
*/
|
|
public static final int INCORRECT_TYPE = 111;
|
|
|
|
/**
|
|
* Error code indicating an invalid channel name. A channel name is either an empty string (the
|
|
* broadcast channel) or contains only a-zA-Z0-9_ characters and starts with a letter.
|
|
*/
|
|
public static final int INVALID_CHANNEL_NAME = 112;
|
|
|
|
/**
|
|
* Error code indicating that push is misconfigured.
|
|
*/
|
|
public static final int PUSH_MISCONFIGURED = 115;
|
|
|
|
/**
|
|
* Error code indicating that the object is too large.
|
|
*/
|
|
public static final int OBJECT_TOO_LARGE = 116;
|
|
|
|
/**
|
|
* Error code indicating that the operation isn't allowed for clients.
|
|
*/
|
|
public static final int OPERATION_FORBIDDEN = 119;
|
|
|
|
/**
|
|
* Error code indicating the result was not found in the cache.
|
|
*/
|
|
public static final int CACHE_MISS = 120;
|
|
|
|
/**
|
|
* Error code indicating that an invalid key was used in a nested JSONObject.
|
|
*/
|
|
public static final int INVALID_NESTED_KEY = 121;
|
|
|
|
/**
|
|
* Error code indicating that an invalid filename was used for ParseFile. A valid file name
|
|
* contains only a-zA-Z0-9_. characters and is between 1 and 128 characters.
|
|
*/
|
|
public static final int INVALID_FILE_NAME = 122;
|
|
|
|
/**
|
|
* Error code indicating an invalid ACL was provided.
|
|
*/
|
|
public static final int INVALID_ACL = 123;
|
|
|
|
/**
|
|
* Error code indicating that the request timed out on the server. Typically this indicates that
|
|
* the request is too expensive to run.
|
|
*/
|
|
public static final int TIMEOUT = 124;
|
|
|
|
/**
|
|
* Error code indicating that the email address was invalid.
|
|
*/
|
|
public static final int INVALID_EMAIL_ADDRESS = 125;
|
|
|
|
/**
|
|
* Error code indicating that required field is missing.
|
|
*/
|
|
public static final int MISSING_REQUIRED_FIELD_ERROR = 135;
|
|
|
|
/**
|
|
* Error code indicating that a unique field was given a value that is already taken.
|
|
*/
|
|
public static final int DUPLICATE_VALUE = 137;
|
|
|
|
/**
|
|
* Error code indicating that a role's name is invalid.
|
|
*/
|
|
public static final int INVALID_ROLE_NAME = 139;
|
|
|
|
/**
|
|
* Error code indicating that an application quota was exceeded. Upgrade to resolve.
|
|
*/
|
|
public static final int EXCEEDED_QUOTA = 140;
|
|
/**
|
|
* Error code indicating that a Cloud Code script failed.
|
|
*/
|
|
public static final int SCRIPT_ERROR = 141;
|
|
/**
|
|
* Error code indicating that cloud code validation failed.
|
|
*/
|
|
public static final int VALIDATION_ERROR = 142;
|
|
|
|
/**
|
|
* Error code indicating that deleting a file failed.
|
|
*/
|
|
public static final int FILE_DELETE_ERROR = 153;
|
|
|
|
/**
|
|
* Error code indicating that the application has exceeded its request limit.
|
|
*/
|
|
public static final int REQUEST_LIMIT_EXCEEDED = 155;
|
|
|
|
/**
|
|
* Error code indicating that the provided event name is invalid.
|
|
*/
|
|
public static final int INVALID_EVENT_NAME = 160;
|
|
|
|
/**
|
|
* Error code indicating that the username is missing or empty.
|
|
*/
|
|
public static final int USERNAME_MISSING = 200;
|
|
|
|
/**
|
|
* Error code indicating that the password is missing or empty.
|
|
*/
|
|
public static final int PASSWORD_MISSING = 201;
|
|
|
|
/**
|
|
* Error code indicating that the username has already been taken.
|
|
*/
|
|
public static final int USERNAME_TAKEN = 202;
|
|
|
|
/**
|
|
* Error code indicating that the email has already been taken.
|
|
*/
|
|
public static final int EMAIL_TAKEN = 203;
|
|
|
|
/**
|
|
* Error code indicating that the email is missing, but must be specified.
|
|
*/
|
|
public static final int EMAIL_MISSING = 204;
|
|
|
|
/**
|
|
* Error code indicating that a user with the specified email was not found.
|
|
*/
|
|
public static final int EMAIL_NOT_FOUND = 205;
|
|
|
|
/**
|
|
* Error code indicating that a user object without a valid session could not be altered.
|
|
*/
|
|
public static final int SESSION_MISSING = 206;
|
|
|
|
/**
|
|
* Error code indicating that a user can only be created through signup.
|
|
*/
|
|
public static final int MUST_CREATE_USER_THROUGH_SIGNUP = 207;
|
|
|
|
/**
|
|
* Error code indicating that an an account being linked is already linked to another user.
|
|
*/
|
|
public static final int ACCOUNT_ALREADY_LINKED = 208;
|
|
|
|
/**
|
|
* Error code indicating that the current session token is invalid.
|
|
*/
|
|
public static final int INVALID_SESSION_TOKEN = 209;
|
|
|
|
/**
|
|
* Error code indicating that a user cannot be linked to an account because that account's id
|
|
* could not be found.
|
|
*/
|
|
public static final int LINKED_ID_MISSING = 250;
|
|
|
|
/**
|
|
* Error code indicating that a user with a linked (e.g. Facebook) account has an invalid session.
|
|
*/
|
|
public static final int INVALID_LINKED_SESSION = 251;
|
|
|
|
/**
|
|
* Error code indicating that a service being linked (e.g. Facebook or Twitter) is unsupported.
|
|
*/
|
|
public static final int UNSUPPORTED_SERVICE = 252;
|
|
|
|
/**
|
|
* Construct a new ParseException with a particular error code.
|
|
*
|
|
* @param theCode
|
|
* The error code to identify the type of exception.
|
|
* @param theMessage
|
|
* A message describing the error in more detail.
|
|
*/
|
|
public ParseException(int theCode, String theMessage) {
|
|
super(theMessage);
|
|
code = theCode;
|
|
}
|
|
|
|
/**
|
|
* Construct a new ParseException with an external cause.
|
|
*
|
|
* @param message
|
|
* A message describing the error in more detail.
|
|
* @param cause
|
|
* The cause of the error.
|
|
*/
|
|
public ParseException(int theCode, String message, Throwable cause) {
|
|
super(message, cause);
|
|
code = theCode;
|
|
}
|
|
|
|
/**
|
|
* Construct a new ParseException with an external cause.
|
|
*
|
|
* @param cause
|
|
* The cause of the error.
|
|
*/
|
|
public ParseException(Throwable cause) {
|
|
super(cause);
|
|
code = OTHER_CAUSE;
|
|
}
|
|
|
|
/**
|
|
* Access the code for this error.
|
|
*
|
|
* @return The numerical code for this error.
|
|
*/
|
|
public int getCode() {
|
|
return code;
|
|
}
|
|
}
|