Internal API errors are handled a few different ways depending on the type of error and the general exception handling patterns common to the platform. Some APIs use exceptions to manage errors. Error codes are documented here for reference, but for clarity refer to the specific API references for methods that throw exceptions or return error information. In most cases the API will defer error functionality to the objects and services available on the native platform. For example,
- Android/Java: in general, the API defers error functionality to ArcGISRuntimeException.
- iOS/macOS: in general, the API defers functionality to NSError.
- .NET: in general, the API defers error functionality to ArcGISRuntimeException.
- Qt: in general, the API manages error information using an Error object..
There are distinct classes of errors, depending on the service invoked. As the architecture dictates, errors may originate from the API, the runtime core supporting the API, or the service (the servers the API connects to implementing certain services.) Check the error domain if this is information useful to your app. In most cases you only need the error code to determine the cause of the error and possible remedy.
The API exposes several error domains. A domain is a segregated area of the API, usually bound to a framework, internal library, or module of functionality. The error domain helps focus the error to a specific area of functionality within the API.
There are different coding patterns used to handle errors that are specific to each API. Refer to the specific API documentation to understand how that API will communicate an error response. There are three patterns of error response:
Return codes: sometimes an API returns an error value or null. You test the return value and handle it according to your application implementation requirements.
Callback, lambda, or delegate function: certain APIs allow the caller to set an asynchronous callback function that the internal API calls upon certain defined events occurring. It is possible in these callbacks to receive an error. The API defines hows the error is represented in the callback. It is up to your application to handle the error.
Exceptions: some APIs generate an exception you should handle. There are many ways of receiving an exception: try/catch, error block/closure, error callback, or signal.
Error codes are defined here as integers. In order to safeguard your code from comparing against these numbers directly we suggest some form of abstraction, such as an errors enumeration or error class. We will do our best to never change a defined error code once the SDK is officially released, but we reserve the right to make changes. Please consult the release notes regarding any changes to these values.
API errors are client-side exceptions that usually occur due to incorrect method parameters, object state dependencies, or network conditions.
Invalid attributes or geometry on the associated GeoElement.
Null value is not allowed.
Value is out of range.
Value exceeds maximum field length.
Internal runtime errors are thrown by the core library when things go wrong client-side. Where possible the details of the exception are described. In many instances, the details of the exception are dependent on the context that generated the exception. In these cases, refer to the specific API that generated the error for more information.
This is the catch all for unknown errors.
This is a success and not an error.
Null pointer exception.
Invalid argument exception.
Not implemented exception.
Out of range exception.
Invalid access exception.
Illegal state exception.
Not found exception.
Regular expression exception.
Property not supported exception.
No permission exception.
File not found exception.
Invalid call exception.
User canceled exception.
Internal error exception.
Conversion failed exception.
Attempted to use invalid JSON.
Error was propagated.
Attempted to use invalid XML.
Object is already owned.
Internal errors related to the SQL storage engine.
SQLite error exception.
SQLite Internal exception.
SQLite Perm exception.
SQLite Abort exception.
SQLite Busy exception.
SQLite Locked exception.
SQLite NoMem exception.
SQLite Read only exception.
SQLite Interrupt exception.
SQLite IO Error exception.
SQLite Corrupt exception.
SQLite Not found exception.
SQLite Full exception.
SQLite Can't open exception.
SQLite Protocol exception.
SQLite Empty exception.
SQLite Schema exception.
SQLite Too big exception.
SQLite Constraint exception.
SQLite Mismatch exception.
SQLite Misuse exception.
SQLite Nolfs exception.
SQLite Auth exception.
SQLite Format exception.
SQLite Range exception.
SQLite Notadb exception.
SQLite Notice exception.
SQLite Warning exception.
SQLite Row exception.
SQLite Done exception.
Internal errors related to the geometry engine.
Geometry Corrupted geometry exception.
Geometry Empty geometry exception.
Geometry Math singularity exception.
Geometry Buffer is too small exception.
Geometry Invalid shape type exception.
Geometry Projection out of supported range exception.
Geometry Non simple geometry exception.
Geometry Cannot calculate geodesic exception.
Geometry Notation conversion exception.
Geometry Missing grid file exception.
Internal errors related to geodatabase queries.
Geodatabase Value out of range exception.
Geodatabase Data type mismatch exception.
Geodatabase Bad XML exception.
Geodatabase Database already exists exception.
Geodatabase Database does not exist exception.
Geodatabase Name longer than 128 characters exception.
Geodatabase Invalid shape type exception.
Geodatabase Raster not supported exception.
Geodatabase Relationship class one to one exception.
Geodatabase Item not found exception.
Geodatabase Duplicate code exception.
Geodatabase Missing code exception.
Geodatabase Wrong item type exception.
Geodatabase Id field not nullable exception.
Geodatabase Default value not supported exception.
Geodatabase Table not editable exception.
Geodatabase Field not found exception.
Geodatabase Field exists exception.
Geodatabase Cannot alter field type exception.
Geodatabase Cannot alter field width exception.
Geodatabase Cannot alter field to nullable exception.
Geodatabase Cannot alter field to editable exception.
Geodatabase Cannot alter field to deletable exception.
Geodatabase Cannot alter geometry properties exception.
Geodatabase Unnamed table exception.
Geodatabase Invalid type for domain exception.
Geodatabase Min max reversed exception.
Geodatabase Field not supported on relationship class exception.
Geodatabase Relationship class key exception.
Geodatabase Value is null exception.
Geodatabase Multiple SQL statements exception.
Geodatabase No SQL statements exception.
Geodatabase Geometry field missing exception.
Geodatabase Transaction started exception.
Geodatabase Transaction not started exception.
Geodatabase Shape requires z exception.
Geodatabase shape requires m exception.
Geodatabase Shape no z exception.
Geodatabase Shape no m exception.
Geodatabase Shape wrong type exception.
Geodatabase Cannot update field type exception.
Geodatabase No rows affected exception.
Geodatabase Subtype invalid exception.
Geodatabase Subtype must be integer exception.
Geodatabase Subtypes not enabled exception.
Geodatabase Subtype exists exception.
Geodatabase Duplicate field not allowed exception.
Geodatabase Cannot delete field exception.
Geodatabase Index exists exception.
Geodatabase Index not found exception.
Geodatabase Cursor not on row exception.
Geodatabase Internal error exception.
Geodatabase Cannot write geodatabase managed fields exception.
Geodatabase Item already exists exception.
Geodatabase Invalid spatial index name exception.
Geodatabase Requires spatial index exception.
Geodatabase Reserved name exception.
Geodatabase Cannot update schema if change tracking exception.
Geodatabase Invalid date exception.
Geodatabase Database does not have changes exception.
Geodatabase Replica does not exists exception.
Geodatabase Storage type not supported exception.
Geodatabase Replica model error exception.
Geodatabase Replica client gen error exception.
Geodatabase Replica no upload to acknowledge exception.
Geodatabase Last write time in the future exception.
Geodatabase Invalid argument exception.
Geodatabase Transportation network corrupt exception.
Geodatabase Transportation network file IO exception.
Geodatabase Feature has pending edits exception.
Geodatabase Change tracking not enabled exception.
Geodatabase Transportation network file open exception.
Geodatabase Transportation network unsupported exception.
Geodatabase Cannot sync copy exception.
Geodatabase Access control denied exception.
Geodatabase Geometry outside replica extent exception.
Geodatabase Upload already in progress exception.
Geodatabase Database is closed exception.
Internal errors related to geocoding, address, and reverse address lookup.
Geocode Unsupported file format exception.
Geocode Unsupported spatial reference exception.
Geocode Unsupported projection transformation exception.
Geocode Geocoder creation exception.
Geocode Intersections not supported exception.
Geocode Uninitialized geocode task exception.
Geocode Invalid locator properties exception.
Geocode Required field missing exception.
Geocode Cannot read address exception.
Geocode Geocoding not supported exception.
Network Analyst errors
Internal errors related to Network Analyst and routing tasks.
Network Analyst Invalid route settings exception.
Network Analyst No solution exception.
Network Analyst Task canceled exception.
Network Analyst Invalid network exception.
Network Analyst Directions error exception.
Network Analyst Insufficient number of stops exception.
Network Analyst Stop unlocated exception.
Network Analyst Stop located on non traversable element exception.
Network Analyst Point barrier invalid added cost attribute name exception.
Network Analyst Line barrier invalid scaled cost attribute name exception.
Network Analyst Polygon barrier invalid scaled cost attribute name.
Network Analyst Polygon barrier invalid scaled cost attribute value.
Network Analyst Polyline barrier invalid scaled cost attribute value.
Network Analyst Invalid impedance attribute exception.
Network Analyst Invalid restriction attribute exception.
Network Analyst Invalid accumulate attribute exception.
Network Analyst Invalid directions time attribute exception.
Network Analyst Invalid directions distance attribute exception.
Network Analyst Invalid attribute parameters attribute name exception.
Network Analyst Invalid attributes parameters parameter name exception.
Network Analyst Invalid attributes parameters value type exception.
Network Analyst Invalid attribute parameters restriction usage value exception.
Network Analyst Network has no hierarchy attribute exception.
Network Analyst No path found between stops exception.
Network Analyst Undefined input spatial reference exception.
Network Analyst Undefined output spatial reference exception.
Network Analyst Invalid directions style exception.
Deprecated. Network Analyst Invalid directions language exception.
Network Analyst Directions time and impedance attribute mismatch exception.
Network Analyst Invalid directions road class attribute exception.
Network Analyst Stop can not be reached.
Network Analyst Stop time window starts before unix epoch exception.
Network Analyst Stop time window is inverted exception.
Walking mode route too large exception.
Stop has null geometry exception.
Point barrier has null geometry exception.
Polyline barrier has null geometry exception.
Polygon barrier has null geometry.
Online route task does not support search_where_clause condition exception.
Network Analyst Insufficient number of facilities exception.
Network Analyst Facility has null geometry exception.
Network Analyst Facility has invalid added cost attribute name exception.
Network Analyst Facility has negative added cost attribute exception.
Network Analyst Facility has invalid impedance cutoff exception.
Network Analyst insufficient number of incidents exception.
Network Analyst Incident has null geometry exception.
Network Analyst Incident has invalid added cost attribute name exception.
Network Analyst Incident has negative added cost attribute exception.
Network Analyst Invalid target facility count exception.
Network Analyst Incident has invalid impedance cutoff exception.
Network Analyst start time is before Unix epoch exception.
Network Analyst Invalid default impedance cutoff exception.
Network Analyst Invalid default target facility count exception.
Network Analyst Invalid polygon buffer distance exception.
Network Analyst Polylines cannot be returned.
Network Analyst Solving non time impedance, but time windows applied.
One or more stops have unsupported type.
Network Analyst Route starts or ends on a waypoint.
Network Analyst Reordering stops (Traveling Salesman Problem) is not supported when the collection of stops contains waypoints or rest breaks.
Network Analyst The waypoint contains time windows.
Network Analyst The waypoint contains added cost attribute.
Network Analyst The stop has unknown curb approach.
Network Analyst The point barrier has unknown curb approach.
Network Analyst The facility has unknown curb approach.
Network Analyst The incident has unknown curb approach.
Network dataset has no directions attributes.
Desired direction language not supported by platform.
JSON parsing errors
Errors that may occur when dealing with JSON.
JSON parser invalid token exception.
JSON parser invalid character exception.
JSON parser invalid unicode exception.
JSON parser invalid start of JSON exception.
JSON parser invalid end of pair exception.
JSON parser invalid end of element exception.
JSON parser invalid escape sequence exception.
JSON parser invalid end of field name exception.
JSON parser invalid start of field name exception.
JSON parser invalid start of comment exception.
JSON parser invalid decimal digit exception.
JSON parser invalid hex digit.
JSON parser expecting null exception.
JSON parser expecting true exception.
JSON parser expecting false exception.
JSON parser expecting closing quote exception.
JSON parser expecting not a number exception.
JSON parser expecting end of comment exception.
JSON parser unexpected end of data exception.
JSON object expecting start object exception.
JSON object expecting start array exception.
JSON object expecting value object exception.
JSON object expecting value array exception.
JSON object expecting value int32 exception.
JSON object expecting integer type exception.
JSON object expecting number type exception.
JSON object expecting value string exception.
JSON object expecting value bool exception.
JSON object iterator not started exception.
JSON object iterator is finished exception.
JSON object key not found exception.
JSON object index out of range exception.
JSON string writer JSON is complete exception.
JSON string writer invalid JSON input exception.
JSON string writer expecting container exception.
JSON string writer expecting key or end object exception.
JSON string writer expecting value or end array exception.
JSON string writer expecting value exception.
Errors related to the internal ArcGISRuntime domain.
The spatial reference is missing.
The initial viewpoint is missing.
Expected a different response to the request.
The Bing maps key is missing.
The layer type is not supported.
Cannot sync because it is not enabled.
Cannot export tiles because it is not enabled.
Required item property is missing.
Webmap version is not supported.
Spatial Reference invalid or incompatible
The package needs to be unpacked before it can be used.
The elevation source data format is not supported.
Webscene version or viewing mode is not supported.
Errors that may occur when working with licensing.
Unlicensed feature exception. Unlicensed feature exception.
License level fixed exception. License level fixed exception.
License level is already set exception. License level is already set exception.
Main license is not set exception. Main license is not set exception.
Unlicensed extension exception. Unlicensed extension exception.
Local server errors
Errors that may occur when working with local server.
Local server failed to start.
A local server's service failed to start.
A local server's service terminated unexpectedly.
The local server has failed.
A local server's service has failed.
Internal library errors
Internal errors related to the use of common libraries.
Feature service edit errors
Edit errors are returned by the server after you call apply edits on a service feature table. The EditError (AGSEditResult.error) object in the API wraps these error codes and messages. Refer to feature service error codes for more information.
HTTP, network, and REST errors
Some APIs communicate with servers and services over the World Wide Web using HTTP, such as the low-level REST API. These services may generate standard HTTP error codes that may have meaning related to the ArcGIS platform.
The request sent to the server is not correct.
Authorization to the requested resource is required.
Authorization to the requested resource is required.
The requested resource was not found.
Payload too large
The request is larger than limits defined by the server. If you're trying to upload an attachment, this error might indicate that the attachment's size exceeds the maximum size allowed.
The access token provided is invalid or expired.
A token was required to access the resource.
The service was not able to fulfill the request, possibly due to invalid input, or the service may not be functioning properly.
The requested service is not implemented.
ArcGIS Runtime error Invalid access range Feature service is not loaded, it needs to be loaded before passed into the sync task.
Check that the offline data you're trying to access has been created correctly and make sure you understand the offline considerations described here.
A mobile geodatabase (.geodatabase file) must come either from an online feature service (from ArcGIS Online or ArcGIS Server 10.x) or be side loaded from content created by ArcGIS Desktop's Create Runtime Content tool. You can't manually create an offline mobile geodatabase. For details on creating and using a mobile geodatabase 1) in a service, see the services pattern 2) in the side loading pattern, see the desktop pattern.
A feature service must be sync-enabled if you want to edit it offline. Determine whether or not your service is sync-enabled by looking at the REST endpoint. A sync-enabled service has three specific REST endpoints listed at the bottom of its HTML page: 1) Create Replica 2) Synchronize Replica 3) Unregister Replica. For details on how to create a sync-enabled service on ArcGIS Online, see Managing hosted feature layers. Map services cannot be sync-enabled.