PHP Luminova: Exceptions and Custom Error Codes
Explore Comprehensive Documentation on Luminova Exception and Error Handling: Detailed Error Types and Codes for Enhanced Code Quality.
This documentation provides a complete reference for error codes with it's usage descriptions. The ErrorCodes
trait in the Luminova framework defines a set of constants that represent various error codes. These codes encompass a wide range of PHP error types, including:
- PDO SQLSTATE Codes
- MySQL Error Codes
- PostgreSQL Error Codes
- Custom Error Codes
The AppException
class automatically inherits the ErrorCodes
trait, granting any exception class that extends AppException
access to these error constants defined within the ErrorCodes
trait.
- Namespace:
\Luminova\Config\Enums\ErrorCodes
1. PHP Error Types
The following constants represent standard PHP error types. They can be used for error handling and logging purposes within the application.
Constant | Value | Description |
---|---|---|
ERROR | E_ERROR | Fatal run-time errors. |
PARSE_ERROR | E_PARSE | Compile-time parse errors. |
CORE_ERROR | E_CORE_ERROR | Fatal errors that occur during PHP's initial startup. |
COMPILE_ERROR | E_COMPILE_ERROR | Fatal compile-time errors. |
WARNING | E_WARNING | Run-time warnings (non-fatal errors). |
CORE_WARNING | E_CORE_WARNING | Warnings that occur during PHP's initial startup. |
COMPILE_WARNING | E_COMPILE_WARNING | Compile-time warnings. |
USER_WARNING | E_USER_WARNING | User-generated warnings. |
NOTICE | E_NOTICE | Run-time notices (non-critical errors). |
USER_NOTICE | E_USER_NOTICE | User-generated notices. |
STRICT_NOTICE | E_STRICT | Suggestions for code improvements. |
USER_ERROR | E_USER_ERROR | User-generated fatal errors. |
RECOVERABLE_ERROR | E_RECOVERABLE_ERROR | Errors that can be caught by a catch block. |
DEPRECATED | E_DEPRECATED | Notices of deprecated features. |
USER_DEPRECATED | E_USER_DEPRECATED | User-generated notices of deprecated features. |
2. PDO SQLSTATE Codes
These constants represent SQLSTATE error codes for PDO. They are useful for handling database connection issues and SQL errors.
Constant | Value | Description |
---|---|---|
UNABLE_TO_CONNECT | 08001 | Unable to connect to the database. |
CONNECTION_DENIED | 08004 | Connection denied due to invalid credentials. |
INTEGRITY_CONSTRAINT_VIOLATION | 23000 | Integrity constraint violation, such as foreign key issues. |
SQL_SYNTAX_ERROR_OR_ACCESS_VIOLATION | 42000 | SQL syntax error or access violation. |
3. MySQL Error Codes
The following constants represent common MySQL error codes. These can be used for handling database-specific errors in MySQL.
Constant | Value | Description |
---|---|---|
ACCESS_DENIED_FOR_USER | 1044 | Access denied for the user. |
ACCESS_DENIED_INVALID_PASSWORD | 1045 | Access denied due to invalid password. |
UNKNOWN_DATABASE | 1049 | Unknown database specified in the connection. |
SYNTAX_ERROR_IN_SQL_STATEMENT | 1064 | Syntax error in SQL statement. |
TABLE_DOES_NOT_EXIST | 1146 | The specified table does not exist. |
4. PostgreSQL Error Codes
These constants represent PostgreSQL-specific error codes.
Constant | Value | Description |
---|---|---|
INVALID_AUTHORIZATION_SPECIFICATION | 28000 | Invalid authorization specification. |
INVALID_CATALOG_NAME | 3D000 | Invalid catalog name (database name). |
5. Custom Luminova Error Codes
These constants represent custom error codes defined specifically for the Luminova framework. They cover various aspects of application errors, including database errors, validation errors, and more.
Constant | Value | Description |
---|---|---|
DATABASE_ERROR | 1500 | General database error. |
FAILED_ALL_CONNECTION_ATTEMPTS | 1503 | Failed all attempts to connect to the database. |
CONNECTION_LIMIT_EXCEEDED | 1509 | Connection limit exceeded. |
INVALID_DATABASE_DRIVER | 1406 | Invalid database driver specified. |
DATABASE_DRIVER_NOT_AVAILABLE | 1501 | Database driver not available. |
DATABASE_TRANSACTION_READONLY_FAILED | 1417 | Failed to execute a read-only transaction. |
DATABASE_TRANSACTION_FAILED | 1420 | Database transaction failed. |
TRANSACTION_SAVEPOINT_FAILED | 1418 | Failed to create a transaction savepoint. |
FAILED_TO_ROLLBACK_TRANSACTION | 1419 | Failed to rollback the transaction. |
NO_STATEMENT_TO_EXECUTE | 1499 | No SQL statement to execute. |
VALUE_FORBIDDEN | 1403 | Forbidden value encountered. |
INVALID_ARGUMENTS | 1001 | Invalid arguments provided to a function. |
INVALID | 1002 | General invalid error. |
RUNTIME_ERROR | 5001 | General runtime error. |
CLASS_NOT_FOUND | 5011 | Class not found during execution. |
STORAGE_ERROR | 5079 | General storage error. |
VIEW_NOT_FOUND | 404 | The requested view could not be found. |
INPUT_VALIDATION_ERROR | 4070 | Input validation error occurred. |
ROUTING_ERROR | 4161 | Error in routing the request. |
NOT_FOUND | 4040 | Requested resource not found. |
BAD_METHOD_CALL | 4051 | Method call failed due to invalid parameters. |
CACHE_ERROR | 5071 | Error related to caching. |
FILESYSTEM_ERROR | 6204 | Filesystem error encountered. |
COOKIE_ERROR | 4961 | Error related to cookies. |
DATETIME_ERROR | 2306 | Error in date/time operations. |
CRYPTOGRAPHY_ERROR | 3423 | Error related to cryptographic operations. |
WRITE_PERMISSION_DENIED | 6205 | Denied write permission. |
READ_PERMISSION_DENIED | 6206 | Denied read permission. |
READ_WRITE_PERMISSION_DENIED | 6209 | Denied read/write permission. |
CREATE_DIR_FAILED | 6207 | Failed to create a directory. |
SET_PERMISSION_FAILED | 6208 | Failed to set permissions on a file/directory. |
JSON_ERROR | 4180 | JSON encoding/decoding error. |
SECURITY_ISSUE | 4973 | Security issue detected. |
MAILER_ERROR | 449 | Error related to mailer functionality. |
INVALID_CONTROLLER | 1003 | Invalid controller specified. |
INVALID_METHOD | 4052 | Invalid method specified. |
INVALID_REQUEST_METHOD | 4053 | Invalid request method used. |
NOT_ALLOWED | 4061 | Operation not allowed. |
NOT_SUPPORTED | 4062 | Operation not supported. |
LOGIC_ERROR | 4229 | Logical error in the application. |
UNDEFINED | 8790 | Undefined error occurred. |
HTTP_CLIENT_ERROR | 4974 | Client error occurred during an HTTP request. |
HTTP_CONNECTION_ERROR | 4975 | Connection error during HTTP request. |
HTTP_REQUEST_ERROR | 4976 | Error during HTTP request processing. |
HTTP_SERVER_ERROR | 4977 | Server error occurred while processing HTTP request. |
6. SQLite Error Codes
These constants represent SQLite-specific error codes for database operations.
Constant | Value | Description |
---|---|---|
DATABASE_IS_FULL | 5 | The database is full. |
DATABASE_LOCKED | 6 | The |