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.
Error domains
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.
- ArcGISRuntime
- ArcGISServer
- ArcGISPopup
Handling errors
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
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.
ArcGISPopup errors
API errors are client-side exceptions that usually occur due to incorrect method parameters, object state dependencies, or network conditions.
Error Code | Description |
---|---|
11000 | Invalid attributes or geometry on the associated GeoElement. |
11001 | Null value is not allowed. |
11002 | Value is out of range. |
11003 | Value exceeds maximum field length. |
ArcGISRuntime errors
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.
Error Code | Description |
---|---|
-1 | This is the catch all for unknown errors. |
0 | This is a success and not an error. |
1 | Null pointer exception. |
2 | Invalid argument exception. |
3 | Not implemented exception. |
4 | Out of range exception. |
5 | Invalid access exception. |
6 | Illegal state exception. |
7 | Not found exception. |
8 | Exists exception. |
9 | Timeout exception. |
10 | Regular expression exception. |
11 | Property not supported exception. |
12 | No permission exception. |
13 | File exception. |
14 | File not found exception. |
15 | Invalid call exception. |
16 | IO exception. |
17 | User canceled exception. |
18 | Internal error exception. |
19 | Conversion failed exception. |
20 | No data. |
21 | Attempted to use invalid JSON. |
22 | Error was propagated. |
23 | Attempted to use invalid XML. |
24 | Object is already owned. |
25 | Reserved for use by Qt. |
26 | The resource is past its expiry date. |
27 | An unexpected null was returned from a property or method which is expected to be non-nullable. |
SQL errors
Internal errors related to the SQL storage engine.
Error Code | Description |
---|---|
1001 | SQLite error exception. |
1002 | SQLite Internal exception. |
1003 | SQLite Perm exception. |
1004 | SQLite Abort exception. |
1005 | SQLite Busy exception. |
1006 | SQLite Locked exception. |
1007 | SQLite NoMem exception. |
1008 | SQLite Read only exception. |
1009 | SQLite Interrupt exception. |
1010 | SQLite IO Error exception. |
1011 | SQLite Corrupt exception. |
1012 | SQLite Not found exception. |
1013 | SQLite Full exception. |
1014 | SQLite Can't open exception. |
1015 | SQLite Protocol exception. |
1016 | SQLite Empty exception. |
1017 | SQLite Schema exception. |
1018 | SQLite Too big exception. |
1019 | SQLite Constraint exception. |
1020 | SQLite Mismatch exception. |
1021 | SQLite Misuse exception. |
1022 | SQLite Nolfs exception. |
1023 | SQLite Auth exception. |
1024 | SQLite Format exception. |
1025 | SQLite Range exception. |
1026 | SQLite Notadb exception. |
1027 | SQLite Notice exception. |
1028 | SQLite Warning exception. |
1029 | SQLite Row exception. |
1030 | SQLite Done exception. |
Geometry errors
Internal errors related to the geometry engine.
Error Code | Description |
---|---|
2000 | Geometry Exception. |
2001 | Geometry Corrupted geometry exception. |
2002 | Geometry Empty geometry exception. |
2003 | Geometry Math singularity exception. |
2004 | Geometry Buffer is too small exception. |
2005 | Geometry Invalid shape type exception. |
2006 | Geometry Projection out of supported range exception. |
2007 | Geometry Non simple geometry exception. |
2008 | Geometry Cannot calculate geodesic exception. |
2009 | Geometry Notation conversion exception. |
2010 | Geometry Missing grid file exception. |
Geodatabase errors
Internal errors related to geodatabase queries.
Error Code | Description |
---|---|
3001 | Geodatabase Value out of range exception. |
3002 | Geodatabase Data type mismatch exception. |
3003 | Geodatabase Bad XML exception. |
3004 | Geodatabase Database already exists exception. |
3005 | Geodatabase Database does not exist exception. |
3006 | Geodatabase Name longer than 128 characters exception. |
3007 | Geodatabase Invalid shape type exception. |
3008 | Geodatabase Raster not supported exception. |
3009 | Geodatabase Relationship class one to one exception. |
3010 | Geodatabase Item not found exception. |
3011 | Geodatabase Duplicate code exception. |
3012 | Geodatabase Missing code exception. |
3013 | Geodatabase Wrong item type exception. |
3014 | Geodatabase Id field not nullable exception. |
3015 | Geodatabase Default value not supported exception. |
3016 | Geodatabase Table not editable exception. |
3017 | Geodatabase Field not found exception. |
3018 | Geodatabase Field exists exception. |
3019 | Geodatabase Cannot alter field type exception. |
3020 | Geodatabase Cannot alter field width exception. |
3021 | Geodatabase Cannot alter field to nullable exception. |
3022 | Geodatabase Cannot alter field to editable exception. |
3023 | Geodatabase Cannot alter field to deletable exception. |
3024 | Geodatabase Cannot alter geometry properties exception. |
3025 | Geodatabase Unnamed table exception. |
3026 | Geodatabase Invalid type for domain exception. |
3027 | Geodatabase Min max reversed exception. |
3028 | Geodatabase Field not supported on relationship class exception. |
3029 | Geodatabase Relationship class key exception. |
3030 | Geodatabase Value is null exception. |
3031 | Geodatabase Multiple SQL statements exception. |
3032 | Geodatabase No SQL statements exception. |
3033 | Geodatabase Geometry field missing exception. |
3034 | Geodatabase Transaction started exception. |
3035 | Geodatabase Transaction not started exception. |
3036 | Geodatabase Shape requires z exception. |
3037 | Geodatabase shape requires m exception. |
3038 | Geodatabase Shape no z exception. |
3039 | Geodatabase Shape no m exception. |
3040 | Geodatabase Shape wrong type exception. |
3041 | Geodatabase Cannot update field type exception. |
3042 | Geodatabase No rows affected exception. |
3043 | Geodatabase Subtype invalid exception. |
3044 | Geodatabase Subtype must be integer exception. |
3045 | Geodatabase Subtypes not enabled exception. |
3046 | Geodatabase Subtype exists exception. |
3047 | Geodatabase Duplicate field not allowed exception. |
3048 | Geodatabase Cannot delete field exception. |
3049 | Geodatabase Index exists exception. |
3050 | Geodatabase Index not found exception. |
3051 | Geodatabase Cursor not on row exception. |
3052 | Geodatabase Internal error exception. |
3053 | Geodatabase Cannot write geodatabase managed fields exception. |
3054 | Geodatabase Item already exists exception. |
3055 | Geodatabase Invalid spatial index name exception. |
3056 | Geodatabase Requires spatial index exception. |
3057 | Geodatabase Reserved name exception. |
3058 | Geodatabase Cannot update schema if change tracking exception. |
3059 | Geodatabase Invalid date exception. |
3060 | Geodatabase Database does not have changes exception. |
3061 | Geodatabase Replica does not exists exception. |
3062 | Geodatabase Storage type not supported exception. |
3063 | Geodatabase Replica model error exception. |
3064 | Geodatabase Replica client gen error exception. |
3065 | Geodatabase Replica no upload to acknowledge exception. |
3066 | Geodatabase Last write time in the future exception. |
3067 | Geodatabase Invalid argument exception. |
3068 | Geodatabase Transportation network corrupt exception. |
3069 | Geodatabase Transportation network file IO exception. |
3070 | Geodatabase Feature has pending edits exception. |
3071 | Geodatabase Change tracking not enabled exception. |
3072 | Geodatabase Transportation network file open exception. |
3073 | Geodatabase Transportation network unsupported exception. |
3074 | Geodatabase Cannot sync copy exception. |
3075 | Geodatabase Access control denied exception. |
3076 | Geodatabase Geometry outside replica extent exception. |
3077 | Geodatabase Upload already in progress exception. |
3078 | Geodatabase Database is closed exception. |
3079 | Domain Already Exists exception. |
3080 | Geometry type not supported exception. |
Geocode errors
Internal errors related to geocoding, address, and reverse address lookup.
Error Code | Description |
---|---|
4001 | Geocode Unsupported file format exception. |
4002 | Geocode Unsupported spatial reference exception. |
4003 | Geocode Unsupported projection transformation exception. |
4004 | Geocode Geocoder creation exception. |
4005 | Geocode Intersections not supported exception. |
4006 | Geocode Uninitialized geocode task exception. |
4007 | Geocode Invalid locator properties exception. |
4008 | Geocode Required field missing exception. |
4009 | Geocode Cannot read address exception. |
4010 | Geocode Geocoding not supported exception. |
Network Analyst errors
Internal errors related to Network Analyst and routing tasks.
Error Code | Description |
---|---|
5001 | Network Analyst Invalid route settings exception. |
5002 | Network Analyst No solution exception. |
5003 | Network Analyst Task canceled exception. |
5004 | Network Analyst Invalid network exception. |
5005 | Network Analyst Directions error exception. |
5006 | Network Analyst Insufficient number of stops exception. |
5007 | Network Analyst Stop unlocated exception. |
5008 | Network Analyst Stop located on non traversable element exception. |
5009 | Network Analyst Point barrier invalid added cost attribute name exception. |
5010 | Network Analyst Line barrier invalid scaled cost attribute name exception. |
5011 | Network Analyst Polygon barrier invalid scaled cost attribute name. |
5012 | Network Analyst Polygon barrier invalid scaled cost attribute value. |
5013 | Network Analyst Polyline barrier invalid scaled cost attribute value. |
5014 | Network Analyst Invalid impedance attribute exception. |
5015 | Network Analyst Invalid restriction attribute exception. |
5016 | Network Analyst Invalid accumulate attribute exception. |
5017 | Network Analyst Invalid directions time attribute exception. |
5018 | Network Analyst Invalid directions distance attribute exception. |
5019 | Network Analyst Invalid attribute parameters attribute name exception. |
5020 | Network Analyst Invalid attributes parameters parameter name exception. |
5021 | Network Analyst Invalid attributes parameters value type exception. |
5022 | Network Analyst Invalid attribute parameters restriction usage value exception. |
5023 | Network Analyst Network has no hierarchy attribute exception. |
5024 | Network Analyst No path found between stops exception. |
5025 | Network Analyst Undefined input spatial reference exception. |
5026 | Network Analyst Undefined output spatial reference exception. |
5027 | Network Analyst Invalid directions style exception. |
5028 | Deprecated. Network Analyst Invalid directions language exception. |
5029 | Network Analyst Directions time and impedance attribute mismatch exception. |
5030 | Network Analyst Invalid directions road class attribute exception. |
5031 | Network Analyst Stop can not be reached. |
5032 | Network Analyst Stop time window starts before unix epoch exception. |
5033 | Network Analyst Stop time window is inverted exception. |
5034 | Walking mode route too large exception. |
5035 | Stop has null geometry exception. |
5036 | Point barrier has null geometry exception. |
5037 | Polyline barrier has null geometry exception. |
5038 | Polygon barrier has null geometry. |
5039 | Online route task does not support search_where_clause condition exception. |
5040 | Network Analyst Insufficient number of facilities exception. |
5041 | Network Analyst Facility has null geometry exception. |
5042 | Network Analyst Facility has invalid added cost attribute name exception. |
5043 | Network Analyst Facility has negative added cost attribute exception. |
5044 | Network Analyst Facility has invalid impedance cutoff exception. |
5045 | Network Analyst insufficient number of incidents exception. |
5046 | Network Analyst Incident has null geometry exception. |
5047 | Network Analyst Incident has invalid added cost attribute name exception. |
5048 | Network Analyst Incident has negative added cost attribute exception. |
5049 | Network Analyst Invalid target facility count exception. |
5050 | Network Analyst Incident has invalid impedance cutoff exception. |
5051 | Network Analyst start time is before Unix epoch exception. |
5052 | Network Analyst Invalid default impedance cutoff exception. |
5053 | Network Analyst Invalid default target facility count exception. |
5054 | Network Analyst Invalid polygon buffer distance exception. |
5055 | Network Analyst Polylines cannot be returned. |
5056 | Network Analyst Solving non time impedance, but time windows applied. |
5057 | One or more stops have unsupported type. |
5058 | Network Analyst Route starts or ends on a waypoint. |
5059 | Network Analyst Reordering stops (Traveling Salesman Problem) is not supported when the collection of stops contains waypoints or rest breaks. |
5060 | Network Analyst The waypoint contains time windows. |
5061 | Network Analyst The waypoint contains added cost attribute. |
5062 | Network Analyst The stop has unknown curb approach. |
5063 | Network Analyst The point barrier has unknown curb approach. |
5064 | Network Analyst The facility has unknown curb approach. |
5065 | Network Analyst The incident has unknown curb approach. |
5066 | Network dataset has no directions attributes. |
5067 | Desired direction language not supported by platform. |
5068 | Route result requires re-solving with current route task. |
5069 | Input route result does not have directions. |
5070 | Input route result does not have stops. |
5071 | Input route result doesn't have the route with passed route index. |
5072 | Input remaining destinations count doesn't match with input routes stops collection. |
JSON parsing errors
Errors that may occur when dealing with JSON.
Error Code | Description |
---|---|
6001 | JSON parser invalid token exception. |
6002 | JSON parser invalid character exception. |
6003 | JSON parser invalid unicode exception. |
6004 | JSON parser invalid start of JSON exception. |
6005 | JSON parser invalid end of pair exception. |
6006 | JSON parser invalid end of element exception. |
6007 | JSON parser invalid escape sequence exception. |
6008 | JSON parser invalid end of field name exception. |
6009 | JSON parser invalid start of field name exception. |
6010 | JSON parser invalid start of comment exception. |
6011 | JSON parser invalid decimal digit exception. |
6012 | JSON parser invalid hex digit. |
6013 | JSON parser expecting null exception. |
6014 | JSON parser expecting true exception. |
6015 | JSON parser expecting false exception. |
6016 | JSON parser expecting closing quote exception. |
6017 | JSON parser expecting not a number exception. |
6018 | JSON parser expecting end of comment exception. |
6019 | JSON parser unexpected end of data exception. |
6020 | JSON object expecting start object exception. |
6021 | JSON object expecting start array exception. |
6022 | JSON object expecting value object exception. |
6023 | JSON object expecting value array exception. |
6024 | JSON object expecting value int32 exception. |
6025 | JSON object expecting integer type exception. |
6026 | JSON object expecting number type exception. |
6027 | JSON object expecting value string exception. |
6028 | JSON object expecting value bool exception. |
6029 | JSON object iterator not started exception. |
6030 | JSON object iterator is finished exception. |
6031 | JSON object key not found exception. |
6032 | JSON object index out of range exception. |
6033 | JSON string writer JSON is complete exception. |
6034 | JSON string writer invalid JSON input exception. |
6035 | JSON string writer expecting container exception. |
6036 | JSON string writer expecting key or end object exception. |
6037 | JSON string writer expecting value or end array exception. |
6038 | JSON string writer expecting value exception. |
Internal errors
Errors related to the internal ArcGISRuntime domain.
Error Code | Description |
---|---|
7001 | The spatial reference is missing. |
7002 | The initial viewpoint is missing. |
7003 | Expected a different response to the request. |
7004 | The Bing maps key is missing. |
7005 | The layer type is not supported. |
7006 | Cannot sync because it is not enabled. |
7007 | Cannot export tiles because it is not enabled. |
7008 | Required item property is missing. |
7009 | Webmap version is not supported. |
7011 | Spatial Reference invalid or incompatible |
7012 | The package needs to be unpacked before it can be used. |
7013 | The elevation source data format is not supported. |
7014 | Webscene version or viewing mode is not supported. |
7015 | Loadable object is not loaded when it is expected to be loaded. |
7016 | Scheduled updates for an offline preplanned map area are not supported. |
7017 | The trace operation executed by the service failed. |
7018 | The Arcade expression is invalid. |
7019 | The requested extent contains too many associations. |
7020 | A layer has requested more features than the service maximum feature count. |
Licensing errors
Errors that may occur when working with licensing.
Error Code | Description |
---|---|
8001 | Unlicensed feature exception. Unlicensed feature exception. |
8002 | License level fixed exception. License level fixed exception. |
8003 | License level is already set exception. License level is already set exception. |
8004 | Main license is not set exception. Main license is not set exception. |
8005 | Unlicensed extension exception. Unlicensed extension exception. |
8006 | Portal user with no license exception. |
Local server errors
Errors that may occur when working with local server.
Error Code | Description |
---|---|
9001 | Local server failed to start. |
9002 | A local server's service failed to start. |
9003 | A local server's service terminated unexpectedly. |
9004 | The local server has failed. |
9005 | A local server's service has failed. |
Internal library errors
Internal errors related to the use of common libraries.
Error Code | Description |
---|---|
10001 | std::ios_base::failure exception. |
10002 | std::bad_array_new_length exception. |
10003 | std::underflow_error exception. |
10004 | std::system_error exception. |
10005 | std::range_error exception. |
10006 | std::overflow_error exception. |
10007 | std::out_of_range exception. |
10008 | std::length_error exception. |
10009 | std::invalid_argument exception. |
10010 | std::future_error exception. |
10011 | std::domain_error exception. |
10012 | std::runtime_error exception. |
10013 | std::logic_error exception. |
10014 | std::bad_weak_ptr exception. |
10015 | std::bad_typeid exception. |
10016 | std::bad_function_call exception. |
10017 | std::bad_exception exception. |
10018 | std::bad_cast exception. |
10019 | std::bad_alloc exception. |
10020 | std::exception exception. |
Electronic navigation charts (ENC)
Errors that may occur when working with ENC APIs.
Error Code | Description |
---|---|
12001 | SSE 01: Self-Signed Key is invalid. |
12002 | SSE 02: Format of Self-Signed Key file is incorrect. |
12003 | SSE 03: SA-Signed Data Server Certificate is invalid. |
12004 | SSE 04: Format of SA Signed DS Certificate is incorrect. |
12005 | SSE 05: SA Digital Certificate (X509) file is not available. A valid certificate can be obtained from the IHO website or your data supplier. |
12006 | SSE 06: The SA-Signed Data Server Certificate is invalid. The SA may have issued a new public key or the ENC may originate from another service. A new SA public key can be obtained from the IHO website or from your data supplier. |
12007 | SSE 07: SA-signed DS Certificate file is not available. A valid certificate can be obtained from the IHO website or your data supplier. |
12008 | SSE 08: SA Digital Certificate (X509) file incorrect format. A valid certificate can be obtained from the IHO website or your data supplier. |
12009 | SSE 09: ENC Signature is invalid. |
12010 | SSE 10: Permits not available for this Data Server. Contact your data supplier to obtain the correct permits.. |
12011 | SSE 11: Cell Permit not found. Load the permit file provided by the data supplier. |
12012 | SSE 12: Cell Permit format is incorrect. Contact your data supplier and obtain a new permit file. |
12013 | SSE 13: Cell Permit is invalid (checksum is incorrect) or the Cell Permit is for a different system. Contact your data supplier and obtain a new or valid permit file. |
12014 | SSE 14: Incorrect system date, check that the computer clock (if accessible) is set correctly or contact your system supplier. |
12015 | SSE 15: Subscription service has expired. Please contact your data supplier to renew the subscription license. |
12016 | SSE 16: ENC CRC value is incorrect. Contact your data supplier as ENC(s) may be corrupted or missing data. |
12017 | SSE 17: Userpermit is invalid (checksum is incorrect). Check that the correct hardware device (dongle) is connected or contact your system supplier to obtain a valid userpermit. |
12018 | SSE 18: HW_ID is incorrect format. |
12019 | SSE 19: Permits are not valid for this system. Contact your data supplier to obtain the correct permits. |
12020 | SSE 20: Subscription service will expire in less than 30 days. Please contact your data supplier to renew the subscription license. |
12021 | SSE 21: Decryption failed no valid cell permit found. Permits may be for another system or new permits may be required, please contact your supplier to obtain a new license. |
12022 | SSE 22: SA Digital Certificate (X509) has expired. A new SA public key can be obtained from the IHO website or from your data supplier. |
12023 | SSE 23: Non-sequential update, previous update(s) missing. Try reloading from the base media. If the problem persists, contact your data supplier. |
12024 | SSE 24: ENC Signature format incorrect, contact your data supplier. |
12025 | SSE 25: The permit for ENC<cell name> has expired. This cell may be out of date and must not be used for primary navigation. |
12026 | SSE 26: This ENC is not authenticated by the IHO acting as the Scheme Administrator. |
12027 | SSE 27: ENC<cell name> is not up to date. A new edition, reissue or update for this cell is missing and therefore must not be used for primary navigation. |
Navigation
Errors that may occur when working with Navigation APIs.
Error Code | Description |
---|---|
13001 | Service doesn't support rerouting. |
Feature service edit errors
Edit errors are returned by the server after you call apply edits on a service feature table. The EditError (EditError) 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.
Error | Error Code | Description |
---|---|---|
Bad request | 400 | The request sent to the server is not correct. |
Unauthorized | 401 | Authorization to the requested resource is required. |
Forbidden | 403 | Authorization to the requested resource is required. |
Not found | 404 | The requested resource was not found. |
Payload too large | 413 | 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. |
Invalid token | 498 | The access token provided is invalid or expired. |
Token required | 499 | A token was required to access the resource. |
Service error | 500 | The service was not able to fulfill the request, possibly due to invalid input, or the service may not be functioning properly. |
Not implemented | 501 | The requested service is not implemented. |
General errors
Error | Description |
---|---|
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. |