Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error Dictionary #66

Merged
merged 2 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions docs/concepts/isis-fundamentals/error-dictionary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Error Dictionary

## Introduction

ISIS categorizes errors into four different types to indicate their sources.

## Unknown Error

This error category encompasses errors that fall outside the scope of User, Programmer, or I/O Errors as listed below. It's typically the most common error and is displayed as a generic error.

Example:
```
**ERROR** Unable to find PVL group [SearchChip].
```

## User Error

This error occurs when users select invalid values for input parameters. Examples include entering a negative integer for a parameter that only allows positive integers, mistyping parameters, or inputting a value not in a required list (such as 8-bit, 16-bit, or 32-bit). Typically, this error is associated with user input provided either in the ISIS graphical user interface (GUI) or via the command line.

Example:
```
**USER ERROR** Unknown parameter [to].
```

## Programmer Error

This particular error is uncommon, arising when the programmer provides invalid information to a C++ class and/or method. Typically, these errors are detected by the programmer during the software development phase. They might occur in exceptional situations like array out-of-bounds or memory leaks. Users encountering these errors should open an issue in the [ISIS Repository](https://github.com/DOI-USGS/ISIS3/issues).

Example:
```
**PROGRAMMER ERROR** Cannot compare a invalid angles with the < operator.
```

## I/O Error

File I/O errors encompass operations such as opening, closing, reading, or writing files. These errors may involve: 1) attempting to access a non-existent file upon opening or allocation, often due to misspellings or incorrect directory paths, 2) encountering read and/or write permission issues stemming from user or group ownership, and 3) facing inadequate disk space for allocating an output file.
However, these errors do not pertain to cases where a file lacks the expected values inside it, such as reading a corrupted PVL.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reading a corrupted PVL, which would be classified as a... "User Error" because of invalid input?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pulled the verbiage from here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trying to read a file that exists but has incorrect data gave me an Unknown Error if part of the PVL structure was missing, and a Programmer Error if the PVL structure was there but values were out of range.


Example:
```
**I/O ERROR** Unable to open [test.cub].
```
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ nav:
- Special Pixels: concepts/isis-fundamentals/special-pixels.md
- Command Line Usage: concepts/isis-fundamentals/command-line-usage.md
- Preference Dictionary: concepts/isis-fundamentals/preference-dictionary.md
- Error Dictionary: concepts/isis-fundamentals/error-dictionary.md

- SPICE:
- SPICE Overview: concepts/spice/spice-overview.md
- SPICE Position Functions and Requirements: concepts/spice/spice-position-functions-and-requirements.md
Expand Down
Loading