E ERROR CODES
E.1 Error Code Descriptions
An error status value (not equal to SAI__OK) is returned by any HDS routine which detects an error
condition. If a program is to perform specific tests on these status values, then the HDS-supplied
symbolic names described below should be used rather than explicit numerical values.
These symbolic status names are prefixed either with ‘DAT’ (for error codes returned by the
DAT_ and HDS_ routines) or ‘CMP’ (for error codes returned by the CMP_ routines) and a
double underscore. The appropriate symbol definitions are contained in the include files
DAT_ERR (for the DAT__ error codes) and CMP_ERR (for the CMP__ error codes). The symbols
defined in these two files are shown in the following tables and described in more detail
below.
|
|
Symbolic Name | Meaning |
|
|
|
|
DAT__ACCON | Access conflict |
DAT__BOUND | Outside bounds of object |
DAT__COMEX | Component already exists |
DAT__CONER | Conversion error |
DAT__DELIN | Deletion invalid |
DAT__DIMIN | Dimensions invalid |
DAT__FATAL | Fatal internal error |
DAT__FILCK | File locking error |
DAT__FILCL | File close error |
DAT__FILCR | File create error |
DAT__FILIN | File invalid |
DAT__FILMP | File mapping error |
DAT__FILND | File not deleted |
DAT__FILNF | File not found |
DAT__FILNX | File not extended |
DAT__FILPR | File protected |
DAT__FILRD | File read error |
DAT__FILWR | File write error |
DAT__GRPIN | Group invalid |
DAT__INCHK | Integrity check |
DAT__ISMAP | Data currently mapped |
DAT__LOCIN | Locator invalid |
DAT__MODIN | Mode invalid |
DAT__NAMIN | Name invalid |
DAT__NOMEM | Insufficient memory available |
DAT__OBJIN | Object invalid |
DAT__OBJNF | Object not found |
DAT__PRMAP | Primitive data mapped |
DAT__SUBIN | Subscripts invalid |
DAT__TRUNC | Text truncated |
DAT__TYPIN | Type invalid |
DAT__UNSET | Primitive data undefined |
DAT__VERMM | Version mismatch |
DAT__WLDIN | Wild-card search context invalid |
|
|
|
|
|
Symbolic Name | Meaning |
|
|
|
|
CMP__DIMIN | Dimensions invalid |
CMP__FATAL | Fatal internal error |
CMP__ISMAP | Data currently mapped |
CMP__NOMAP | Not mapped |
CMP__TYPIN | Type invalid |
|
|
| |
|
-
ACCON:
- A write operation has been rejected because the container file was originally opened
for read-only access.
-
BOUND:
- An array specification is outside the permitted dimension bounds.
-
COMEX:
- An attempt to create a new component of a structure has failed because a component
of the same name already exists.
-
CONER:
- One of the following primitive data conversion errors occurred during a GET, PUT,
MAP or UNMAP operation:
- Floating point overflow.
- Integer overflow.
- Truncation of non-blank characters in a character string.
-
DELIN:
- The object to be deleted was a non-empty structure.
-
DIMIN:
- One of the following conditions occurred:
- When creating an object, the number of dimensions specified exceeds the
system-imposed limit (currently 7) or is negative, or one or more of the dimension
sizes is zero or negative.
- When slicing an object, the number of dimensions specified exceeds the
system-imposed limit (currently 3) or is negative, or an incorrect number of lower
and upper bounds has been specified.
- An attempt to read, write, or map primitive data has failed because the dimensions
specified do not match the actual shape of the object.
-
FATAL:
- An unrecoverable error has been detected by HDS. This may indicate an internal
programming error within HDS itself, but may also result from the use of a corrupt container
file. The associated error report will contain further information about the nature of the
error.
-
FILCK:
- An attempt to lock a container file has failed. This is most likely to be because another process
currently has the file locked with a conflicting access mode.
-
FILCL:
- An error occurred while closing an HDS file.
-
FILCR:
- An error occurred while creating an HDS file.
-
FILMP:
- An error occurred while mapping data in an HDS file.
-
FILND:
- An error occurred while deleting an HDS file.
-
FILNX:
- An error occurred while extending the size of an HDS file.
-
FILIN:
- One of the following conditions occurred:
- A file to be opened does not conform to the structure of an HDS container file.
- The name given for a file to be created matches the name of a file which is already in
use by HDS.
- The name given for a file to be created matches the name of an existing file which
cannot be removed because it is not a regular file (it may be a directory, for instance).
-
FILNF:
- The specified file cannot be found, or the syntax of the file name has been rejected as invalid
by the host operating system.
-
FILPR:
- The file is protected from being accessed in the specified mode (or from being
deleted).
-
FILRD:
- An error occurred while reading data from an HDS file.
-
FILWR:
- An error occurred while writing data to an HDS file.
-
GRPIN:
- The supplied character string does not conform to the syntax of a group specification.
-
INCHK:
- Typically, an attempt to access an object has failed because the object has been
deleted or moved through another locator, either in the same program or in another
process. This error may also be produced through the use of a corrupt container
file.
-
ISMAP:
- An object is currently mapped.
-
LOCIN:
- One of the following conditions occurred:
- A non-character variable has been specified as a locator (or a character variable of
the wrong length).
- The specified locator is not currently valid, i.e. not associated with an object.
- The specified locator was generated by an HDS routine which did not run to
successful completion.
-
MODIN:
- The supplied character string is not a valid access mode.
-
NAMIN:
- The supplied character string does not conform to the syntax of a name specification.
-
NOMEM:
- HDS was unable to dynamically allocate sufficient memory to perform the requested
operation.
-
OBJIN:
- An input locator points to an object which is not suitable for the type of operation requested.
Specifically, when the locator is associated with one of the following:
- A structure object where a primitive is required (and vice versa).
- An n-D object where a scalar (or cell) is required.
- A slice or cell of an n-D object where the complete array is required.
- A top-level object where a component object is required (and vice versa).
-
OBJNF:
- A request to locate a component of a structure, by name or position, has failed because the
object does not exist.
-
PRMAP:
- A GET, PUT or MAP operation has been rejected because primitive data are currently
mapped to the specified locator.
-
SUBIN:
- An attempt to locate a slice or cell of an n-D object has failed because the subscript
information references an element which is outside the array bounds of the object (or a lower
bound exceeds an upper bound).
-
TRUNC:
- A character string has been corrupted through the truncation of significant (non-blank)
characters. Typically this indicates that a program has not supplied a character string of
sufficient length as an argument to an HDS routine.
-
TYPIN:
- The supplied character string does not conform to the syntax of a type specification.
-
UNSET:
- An attempt to read primitive object data has failed because the values are currently
undefined.
-
VERMM:
- The HDS file format version number of a container file exceeds the version number
recognised by the HDS software. Typically, this signifies that the file has been created or
modified by a new version of HDS and cannot be handled by a program linked with an older
version.
-
WLDIN:
- The wild-card search context identifier supplied has not been generated by a previous
successful call to an HDS routine and is not equal to the null value (DAT__NOWLD).
E.2 Obsolete Error Codes
The following error codes are no longer used by HDS, although their values remain defined:
DAT__ACTIV |
DAT__CONIN |
DAT__ERACT |
DAT__EREXH |
DAT__EXCPA |
DAT__ISOPN |
DAT__RELIN |
DAT__STKOF |
DAT__UNKPA |
DAT__WEIRD |
Copyright © 2019 East Asian Observatory