ArcGIS Runtime SDK for .NET

Platform error codes

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 CodeDescription

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 CodeDescription

-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.

SQL errors

Internal errors related to the SQL storage engine.

Error CodeDescription

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 CodeDescription

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 CodeDescription

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.

Geocode errors

Internal errors related to geocoding, address, and reverse address lookup.

Error CodeDescription

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 CodeDescription

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.

JSON parsing errors

Errors that may occur when dealing with JSON.

Error CodeDescription

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 CodeDescription

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.

Licensing errors

Errors that may occur when working with licensing.

Error CodeDescription

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.

Local server errors

Errors that may occur when working with local server.

Error CodeDescription

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 CodeDescription

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.

Feature service edit errors

Edit errors are returned by the server after you call apply edits on a service feature table. The 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.

ErrorError CodeDescription

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

ErrorDescription

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.