ObjFW
Toggle main menu visibility
Loading...
Searching...
No Matches
OFException.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-2026 Jonathan Schleifer <js@nil.im>
3
*
4
* All rights reserved.
5
*
6
* This program is free software: you can redistribute it and/or modify it
7
* under the terms of the GNU Lesser General Public License version 3.0 only,
8
* as published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13
* version 3.0 for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* version 3.0 along with this program. If not, see
17
* <https://www.gnu.org/licenses/>.
18
*/
19
20
#import "
OFObject.h
"
21
22
#ifdef OF_WINDOWS
23
# include <windows.h>
24
#endif
25
26
OF_ASSUME_NONNULL_BEGIN
27
29
30
@class
OFArray
OF_GENERIC(ObjectType);
31
@class
OFString
;
32
@class
OFValue
;
33
34
#define OFStackTraceSize 16
35
36
#if defined(OF_WINDOWS) && defined(OF_HAVE_SOCKETS)
37
# ifndef EADDRINUSE
38
# define EADDRINUSE WSAEADDRINUSE
39
# endif
40
# ifndef EADDRNOTAVAIL
41
# define EADDRNOTAVAIL WSAEADDRNOTAVAIL
42
# endif
43
# ifndef EAFNOSUPPORT
44
# define EAFNOSUPPORT WSAEAFNOSUPPORT
45
# endif
46
# ifndef EALREADY
47
# define EALREADY WSAEALREADY
48
# endif
49
# ifndef ECONNABORTED
50
# define ECONNABORTED WSAECONNABORTED
51
# endif
52
# ifndef ECONNREFUSED
53
# define ECONNREFUSED WSAECONNREFUSED
54
# endif
55
# ifndef ECONNRESET
56
# define ECONNRESET WSAECONNRESET
57
# endif
58
# ifndef EDESTADDRREQ
59
# define EDESTADDRREQ WSAEDESTADDRREQ
60
# endif
61
# ifndef EDQUOT
62
# define EDQUOT WSAEDQUOT
63
# endif
64
# ifndef EHOSTDOWN
65
# define EHOSTDOWN WSAEHOSTDOWN
66
# endif
67
# ifndef EHOSTUNREACH
68
# define EHOSTUNREACH WSAEHOSTUNREACH
69
# endif
70
# ifndef EINPROGRESS
71
# define EINPROGRESS WSAEINPROGRESS
72
# endif
73
# ifndef EISCONN
74
# define EISCONN WSAEISCONN
75
# endif
76
# ifndef ELOOP
77
# define ELOOP WSAELOOP
78
# endif
79
# ifndef EMSGSIZE
80
# define EMSGSIZE WSAEMSGSIZE
81
# endif
82
# ifndef ENETDOWN
83
# define ENETDOWN WSAENETDOWN
84
# endif
85
# ifndef ENETRESET
86
# define ENETRESET WSAENETRESET
87
# endif
88
# ifndef ENETUNREACH
89
# define ENETUNREACH WSAENETUNREACH
90
# endif
91
# ifndef ENOBUFS
92
# define ENOBUFS WSAENOBUFS
93
# endif
94
# ifndef ENOPROTOOPT
95
# define ENOPROTOOPT WSAENOPROTOOPT
96
# endif
97
# ifndef ENOTCONN
98
# define ENOTCONN WSAENOTCONN
99
# endif
100
# ifndef ENOTSOCK
101
# define ENOTSOCK WSAENOTSOCK
102
# endif
103
# ifndef EOPNOTSUPP
104
# define EOPNOTSUPP WSAEOPNOTSUPP
105
# endif
106
# ifndef EPFNOSUPPORT
107
# define EPFNOSUPPORT WSAEPFNOSUPPORT
108
# endif
109
# ifndef EPROCLIM
110
# define EPROCLIM WSAEPROCLIM
111
# endif
112
# ifndef EPROTONOSUPPORT
113
# define EPROTONOSUPPORT WSAEPROTONOSUPPORT
114
# endif
115
# ifndef EPROTOTYPE
116
# define EPROTOTYPE WSAEPROTOTYPE
117
# endif
118
# ifndef EREMOTE
119
# define EREMOTE WSAEREMOTE
120
# endif
121
# ifndef ESHUTDOWN
122
# define ESHUTDOWN WSAESHUTDOWN
123
# endif
124
# ifndef ESOCKTNOSUPPORT
125
# define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
126
# endif
127
# ifndef ESTALE
128
# define ESTALE WSAESTALE
129
# endif
130
# ifndef ETIMEDOUT
131
# define ETIMEDOUT WSAETIMEDOUT
132
# endif
133
# ifndef ETOOMANYREFS
134
# define ETOOMANYREFS WSAETOOMANYREFS
135
# endif
136
# ifndef EUSERS
137
# define EUSERS WSAEUSERS
138
# endif
139
# ifndef EWOULDBLOCK
140
# define EWOULDBLOCK WSAEWOULDBLOCK
141
# endif
142
#endif
143
144
#ifndef EWOULDBLOCK
145
# define EWOULDBLOCK EAGAIN
146
#endif
147
156
@interface
OFException
:
OFObject
157
{
158
void
*_stackTrace[OFStackTraceSize];
159
OF_RESERVE_IVARS(
OFException
, 4)
160
}
161
167
+ (instancetype)exception;
168
174
- (
OFString
*)description;
175
183
- (nullable
OFArray
OF_GENERIC(
OFValue
*) *)stackTraceAddresses;
184
191
- (nullable
OFArray
OF_GENERIC(
OFString
*) *)stackTraceSymbols;
192
@end
193
194
#ifdef __cplusplus
195
extern
"C"
{
196
#endif
208
extern
OFString
*
OFStrError
(
int
errNo);
209
210
#ifdef OF_WINDOWS
211
extern
OFString
*_OFWindowsStatusToString(LSTATUS status)
212
OF_VISIBILITY_INTERNAL;
213
#endif
214
#ifdef __cplusplus
215
}
216
#endif
217
218
OF_ASSUME_NONNULL_END
OFStrError
OFString * OFStrError(int errNo)
Converts the specified error number (from <errno.h>) to a string.
Definition
OFException.m:90
OFObject.h
OFArray
An abstract class for storing objects in an array.
Definition
OFArray.h:111
OFException
The base class for all exceptions in ObjFW.
Definition
OFException.h:157
OFObject
The root class for all other classes inside ObjFW.
Definition
OFObject.h:956
OFString
A class for handling strings.
Definition
OFString.h:144
OFValue
A class for storing arbitrary values in an object.
Definition
OFValue.h:30
src
exceptions
OFException.h
Generated by
1.17.0