added try_code routines for errno_error
This commit is contained in:
parent
745e06d1af
commit
547fdc629a
17
except.cpp
17
except.cpp
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "except.hpp"
|
#include "except.hpp"
|
||||||
|
#include "debug.hpp"
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cerrno>
|
#include <cerrno>
|
||||||
@ -34,4 +35,18 @@ errno_error::errno_error (int _errno):
|
|||||||
errno_error::errno_error ():
|
errno_error::errno_error ():
|
||||||
runtime_error (strerror (errno)),
|
runtime_error (strerror (errno)),
|
||||||
id (errno)
|
id (errno)
|
||||||
{ ; }
|
{
|
||||||
|
check_hard (errno != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
errno_error::try_code ()
|
||||||
|
{ try_code (errno); }
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
errno_error::try_code(int code) {
|
||||||
|
if (code != 0)
|
||||||
|
throw errno_error(code);
|
||||||
|
}
|
||||||
|
@ -45,6 +45,9 @@ class errno_error : public std::runtime_error {
|
|||||||
int id;
|
int id;
|
||||||
errno_error (int _errno);
|
errno_error (int _errno);
|
||||||
errno_error ();
|
errno_error ();
|
||||||
|
|
||||||
|
void try_code (void);
|
||||||
|
void try_code (int code);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user