One Peaceful Frontend+Backend Software Library Suite.
This repository houses the operating components of the error code numbering definitions and representations for various supported programming languages. The repository splits itself into multiple parts depending on its language-specific or deployment-specific usage.
This project was initiated primarily because of:
- Ensures proper interoperability between programming languages -
making sure the
hestiaERROR
library talks to each other seamlessly across programming languages with the same context. - Utilizing low memory, language-free, and simple error reporting - using simple 1 byte number across the projects and software layers for highest efficiency and works as a signal.
- Keeping string representations within the project's language internationalization libraries - making string processing and translations a lot more simple to manage and operate.
- Simple to integrate - simple enough to use the supported programming language's package manager.
This library supports multiple programming languages for the same dataset. Hence, in order to use it, please import based on your deployed programming language:
NOTE
To be updated.
The libraries are based on the following data sources:
- Linux Kernel - Universal Base Error Numbers
- Source:
include/uapi/asm-generic/errno-base.h
- Source:
- Linux Kernel - Generic Assembly Error Numbers
- Source:
include/uapi/asm-generic/errno.h
- Source:
- Linux Kernel - Extended Error Numbers
- Source:
include/linux/errno.h
- Source:
- BASH Exit Status list
- PowerShell Error Handling
These sources are strongly referencing from the Linux Kernel while maintaining the definitions usable even at operating system scripting level for both UNIX and Windows OSes.
The definitions complies to only the following rules:
- STRICTLY:
0
represents OK. - Restricts within 8-bits unsigned integer (1 byte) range (
0
to255
). - Numbers' definitions are context free (e.g. each software layers can response differently).
- Avoid redefining existing codes (can but frown upon).
Based on years of programming experiences across multiple languages, these error codes are newly defined and each software layers can redefine the list whenever needed for independent packaging purposes.
The library is heavily guarded with unit tests whenever available.
This project is licensed under OSI compliant Apache 2.0 License.