Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::error Namespace Reference

Namespaces

namespace  codes
 
namespace  validation
 Compile-time validation to prevent error code conflicts.
 

Enumerations

enum class  kcenon::common::error::category : int {
  success = 0 , common = -1 , thread_system = -100 , logger_system = -200 ,
  monitoring_system = -300 , container_system = -400 , database_system = -500 , network_system = -600 ,
  pacs_system = -700 , success = 0 , common = -1 , thread_system = -100 ,
  logger_system = -200 , monitoring_system = -300 , container_system = -400 , database_system = -500 ,
  network_system = -600 , pacs_system = -700
}
 Error code category ranges for compile-time validation. More...
 
enum class  kcenon::common::error::category : int {
  success = 0 , common = -1 , thread_system = -100 , logger_system = -200 ,
  monitoring_system = -300 , container_system = -400 , database_system = -500 , network_system = -600 ,
  pacs_system = -700 , success = 0 , common = -1 , thread_system = -100 ,
  logger_system = -200 , monitoring_system = -300 , container_system = -400 , database_system = -500 ,
  network_system = -600 , pacs_system = -700
}
 

Functions

std::string_view kcenon::common::error::get_error_message (int code)
 Get human-readable error message for error code.
 
std::string_view kcenon::common::error::get_category_name (int code)
 Get category name for error code.
 

Enumeration Type Documentation

◆ category [1/2]

enum class kcenon::common::error::category : int
exportstrong

Error code category ranges for compile-time validation.

Enumerator
success 
common 
thread_system 
logger_system 
monitoring_system 
container_system 
database_system 
network_system 
pacs_system 
success 
common 
thread_system 
logger_system 
monitoring_system 
container_system 
database_system 
network_system 
pacs_system 

Definition at line 37 of file error_codes.h.

◆ category [2/2]

enum class kcenon::common::error::category : int
exportstrong
Enumerator
success 
common 
thread_system 
logger_system 
monitoring_system 
container_system 
database_system 
network_system 
pacs_system 
success 
common 
thread_system 
logger_system 
monitoring_system 
container_system 
database_system 
network_system 
pacs_system 

Definition at line 40 of file error.cppm.

40 : int {
41 success = 0,
42 common = -1,
43 thread_system = -100,
44 logger_system = -200,
45 monitoring_system = -300,
46 container_system = -400,
47 database_system = -500,
48 network_system = -600,
49 pacs_system = -700,
50};

Function Documentation

◆ get_category_name()

std::string_view kcenon::common::error::get_category_name ( int code)
inlineexport

Get category name for error code.

Parameters
codeError code
Returns
Category name

Definition at line 460 of file error_codes.h.

460 {
461 if (code >= 0) return "Success";
462 if (code > static_cast<int>(category::thread_system)) return "Common";
463 if (code > static_cast<int>(category::logger_system)) return "ThreadSystem";
464 if (code > static_cast<int>(category::monitoring_system)) return "LoggerSystem";
465 if (code > static_cast<int>(category::container_system)) return "MonitoringSystem";
466 if (code > static_cast<int>(category::database_system)) return "ContainerSystem";
467 if (code > static_cast<int>(category::network_system)) return "DatabaseSystem";
468 if (code > static_cast<int>(category::pacs_system)) return "NetworkSystem";
469 return "PACSSystem";
470}

References container_system, database_system, logger_system, monitoring_system, network_system, pacs_system, and thread_system.

◆ get_error_message()

std::string_view kcenon::common::error::get_error_message ( int code)
inlineexport

Get human-readable error message for error code.

Parameters
codeError code
Returns
Error message string

Definition at line 380 of file error_codes.h.

380 {
381 switch (code) {
382 // Common errors
383 case codes::common_errors::success: return "Success";
384 case codes::common_errors::invalid_argument: return "Invalid argument";
385 case codes::common_errors::not_found: return "Not found";
386 case codes::common_errors::permission_denied: return "Permission denied";
387 case codes::common_errors::timeout: return "Timeout";
388 case codes::common_errors::cancelled: return "Cancelled";
389 case codes::common_errors::not_initialized: return "Not initialized";
390 case codes::common_errors::already_exists: return "Already exists";
391 case codes::common_errors::out_of_memory: return "Out of memory";
392 case codes::common_errors::io_error: return "I/O error";
393 case codes::common_errors::network_error: return "Network error";
394 case codes::common_errors::registry_frozen: return "Registry is frozen";
395 case codes::common_errors::internal_error: return "Internal error";
396
397 // DI errors
398 case codes::common_errors::di_service_not_registered: return "Service not registered in container";
399 case codes::common_errors::di_circular_dependency: return "Circular dependency detected";
400 case codes::common_errors::di_already_registered: return "Service already registered";
401 case codes::common_errors::di_factory_error: return "Factory error during instantiation";
402 case codes::common_errors::di_invalid_lifetime: return "Invalid service lifetime configuration";
403 case codes::common_errors::di_scoped_from_root: return "Scoped service resolved from root container";
404
405 // thread_system errors
406 case codes::thread_system::pool_full: return "Thread pool full";
407 case codes::thread_system::pool_shutdown: return "Thread pool shutdown";
408 case codes::thread_system::job_rejected: return "Job rejected";
409 case codes::thread_system::job_timeout: return "Job timeout";
410
411 // logger_system errors
412 case codes::logger_system::file_open_failed: return "Failed to open log file";
413 case codes::logger_system::file_write_failed: return "Failed to write to log file";
414 case codes::logger_system::file_rotation_failed: return "Log file rotation failed";
415
416 // monitoring_system errors
417 case codes::monitoring_system::metric_not_found: return "Metric not found";
418 case codes::monitoring_system::storage_full: return "Metric storage full";
419
420 // container_system errors
421 case codes::container_system::value_type_mismatch: return "Value type mismatch";
422 case codes::container_system::serialization_failed: return "Serialization failed";
423 case codes::container_system::pool_exhausted: return "Memory pool exhausted";
424
425 // database_system errors
426 case codes::database_system::connection_failed: return "Database connection failed";
427 case codes::database_system::pool_exhausted: return "Connection pool exhausted";
428 case codes::database_system::query_failed: return "Database query failed";
429
430 // network_system errors
431 case codes::network_system::connection_failed: return "Network connection failed";
432 case codes::network_system::send_failed: return "Network send failed";
433 case codes::network_system::server_not_started: return "Server not started";
434
435 // pacs_system errors
436 case codes::pacs_system::file_not_found: return "DICOM file not found";
437 case codes::pacs_system::file_read_error: return "Failed to read DICOM file";
438 case codes::pacs_system::file_write_error: return "Failed to write DICOM file";
439 case codes::pacs_system::invalid_dicom_file: return "Invalid DICOM file format";
440 case codes::pacs_system::missing_dicm_prefix: return "Missing DICM prefix";
441 case codes::pacs_system::invalid_meta_info: return "Invalid File Meta Information";
442 case codes::pacs_system::missing_transfer_syntax: return "Missing Transfer Syntax";
443 case codes::pacs_system::unsupported_transfer_syntax: return "Unsupported Transfer Syntax";
444 case codes::pacs_system::element_not_found: return "DICOM element not found";
445 case codes::pacs_system::value_conversion_error: return "Value conversion failed";
446 case codes::pacs_system::decode_error: return "DICOM decode error";
447 case codes::pacs_system::encode_error: return "DICOM encode error";
448 case codes::pacs_system::association_rejected: return "DICOM association rejected";
449 case codes::pacs_system::storage_failed: return "DICOM storage failed";
450
451 default: return "Unknown error";
452 }
453}

References kcenon::common::error::codes::common_errors::already_exists, kcenon::common::error::codes::pacs_system::association_rejected, kcenon::common::error::codes::common_errors::cancelled, kcenon::common::error::codes::database_system::connection_failed, kcenon::common::error::codes::network_system::connection_failed, kcenon::common::error::codes::pacs_system::decode_error, kcenon::common::error::codes::common_errors::di_already_registered, kcenon::common::error::codes::common_errors::di_circular_dependency, kcenon::common::error::codes::common_errors::di_factory_error, kcenon::common::error::codes::common_errors::di_invalid_lifetime, kcenon::common::error::codes::common_errors::di_scoped_from_root, kcenon::common::error::codes::common_errors::di_service_not_registered, kcenon::common::error::codes::pacs_system::element_not_found, kcenon::common::error::codes::pacs_system::encode_error, kcenon::common::error::codes::pacs_system::file_not_found, kcenon::common::error::codes::logger_system::file_open_failed, kcenon::common::error::codes::pacs_system::file_read_error, kcenon::common::error::codes::logger_system::file_rotation_failed, kcenon::common::error::codes::pacs_system::file_write_error, kcenon::common::error::codes::logger_system::file_write_failed, kcenon::common::error::codes::common_errors::internal_error, kcenon::common::error::codes::common_errors::invalid_argument, kcenon::common::error::codes::pacs_system::invalid_dicom_file, kcenon::common::error::codes::pacs_system::invalid_meta_info, kcenon::common::error::codes::common_errors::io_error, kcenon::common::error::codes::thread_system::job_rejected, kcenon::common::error::codes::thread_system::job_timeout, kcenon::common::error::codes::monitoring_system::metric_not_found, kcenon::common::error::codes::pacs_system::missing_dicm_prefix, kcenon::common::error::codes::pacs_system::missing_transfer_syntax, kcenon::common::error::codes::common_errors::network_error, kcenon::common::error::codes::common_errors::not_found, kcenon::common::error::codes::common_errors::not_initialized, kcenon::common::error::codes::common_errors::out_of_memory, kcenon::common::error::codes::common_errors::permission_denied, kcenon::common::error::codes::container_system::pool_exhausted, kcenon::common::error::codes::database_system::pool_exhausted, kcenon::common::error::codes::thread_system::pool_full, kcenon::common::error::codes::thread_system::pool_shutdown, kcenon::common::error::codes::database_system::query_failed, kcenon::common::error::codes::common_errors::registry_frozen, kcenon::common::error::codes::network_system::send_failed, kcenon::common::error::codes::container_system::serialization_failed, kcenon::common::error::codes::network_system::server_not_started, kcenon::common::error::codes::pacs_system::storage_failed, kcenon::common::error::codes::monitoring_system::storage_full, kcenon::common::error::codes::common_errors::success, kcenon::common::error::codes::common_errors::timeout, kcenon::common::error::codes::pacs_system::unsupported_transfer_syntax, kcenon::common::error::codes::pacs_system::value_conversion_error, and kcenon::common::error::codes::container_system::value_type_mismatch.