GCC Code Coverage Report


Directory: ./
File: pdserv/src/Exceptions.h
Date: 2024-12-15 04:08:34
Exec Total Coverage
Lines: 5 5 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 /*****************************************************************************
2 *
3 * Copyright 2023 Bjarne von Horn <vh at igh dot de>
4 *
5 * This file is part of the pdserv library.
6 *
7 * The pdserv library is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published
9 * by the Free Software Foundation, either version 3 of the License, or (at
10 * your option) any later version.
11 *
12 * The pdserv library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 * License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with the pdserv library. If not, see <http://www.gnu.org/licenses/>.
19 *
20 *****************************************************************************/
21
22 #ifndef PDSERV_EXCEPTIONS_H
23 #define PDSERV_EXCEPTIONS_H
24
25 #include <cstring>
26 #include <stdexcept>
27
28 namespace PdServ {
29
30 5 class Errno : std::runtime_error
31 {
32 int err_;
33
34 public:
35 10 explicit Errno(int err) : std::runtime_error(strerror(err < 0 ? -err : err)),
36 10 err_(err < 0 ? -err : err)
37 5 {}
38
39 5 int getErrno() const noexcept { return err_; }
40 };
41
42 } // namespace PdServ
43
44
45 #endif // PDSERV_EXCEPTIONS_H
46