PLCnext API Documentation 25.0.2.69
ExceptionTypeId.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Core/Enum.hxx"
9
10namespace Arp { namespace System { namespace Commons
11{
12
15{
16 Exception = 0, // never change this, is used by Core as literal number but not enum field
17
18 // Ve Excetpions
19 Ve = 256, // never change this, is used by Ve as literal number but not enum field
20 VeNotExists = 257, // never change this, is used by Ve as literal number but not enum field
21 VeAlreadyExists = 258, // never change this, is used by Ve as literal number but not enum field
22 VeInvalidPath = 259, // never change this, is used by Ve as literal number but not enum field
23 VeAccessDenied = 260, // never change this, is used by Ve as literal number but not enum field
24
25 // Commons Excetpions
26 Common = 0x1000,
27 Argument,
28 ArgumentNull,
29 ArgumentOutOfRange,
30 AssertionFailed,
31 Database,
33 IndexOutOfRange,
34 InvalidCast,
35 InvalidConfig,
36 InvalidDataConnection,
37 InvalidOperation,
38 KeyNotFound,
39 License,
40 NotAuthorized,
41 NotImplemented,
42 NotSupported,
43 ObjectDisposed,
44 OutOfMemory,
45 Parse,
46 ThreadInterrupt,
47 Timeout,
48 Xml,
49 XmlValidation,
50 InvalidFormat,
51 Json,
52 Std,
53
54 // Io Exceptions
55 Io = 0x3000,
56 IoAccessDenied,
57 IoAlreadyExists,
58 IoEndOfStream,
59 IoInvalidPath,
60 IoNotExist,
61 IoOutOfSpace,
62
63 // Plc Exceptions
64 Plc = 0x4000,
65 PlcDivisionByZero,
66 PlcIndexOutOfRange,
67 PlcStackOverflow,
68 PlcString,
69 PlcUnhandled,
70 PlcUnhandledVectored,
71 PlcNullReference,
72 PlcOutOfMemoryException,
73
74 // Rsc Exceptions
75 Rsc = 0x5000,
76
77 Custom = 0x10000, // begin of customer exception codes
78};
79
81// global stream operators of enum ExceptionTypeId for logging and parsing
82ARP_CXX_SYMBOL_EXPORT std::ostream& operator<<(std::ostream& os, ExceptionTypeId value);
83ARP_CXX_SYMBOL_EXPORT std::istream& operator>>(std::istream& is, ExceptionTypeId& value);
84
85}}} // end of namespace Arp::System::Commons
86
88// template specialization of ExceptionTypeId formatter
89template<> struct fmt::formatter<Arp::System::Commons::ExceptionTypeId>: public fmt::ostream_formatter {};
This is the base class of all Arp exception classes.
Definition: Exception.hpp:21
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
ErrorCode
Possible error codes for data-logger rsc services.
Definition: ErrorCode.hpp:19
ExceptionTypeId
Specifies the type id of any exception derived by <see cref="CommonException".
Definition: ExceptionTypeId.hpp:15
Root namespace for the PLCnext API
Defines some predefined timeouts.
Definition: ChronoTypes.hpp:66