Coverage Report

Created: 2025-07-17 06:53

/src/botan/build/include/public/botan/tls_exceptn.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
* Exceptions
3
* (C) 2004-2006 Jack Lloyd
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_TLS_EXCEPTION_H_
9
#define BOTAN_TLS_EXCEPTION_H_
10
11
#include <botan/exceptn.h>
12
#include <botan/tls_alert.h>
13
14
namespace Botan::TLS {
15
16
/**
17
* TLS Exception Base Class
18
*/
19
class BOTAN_PUBLIC_API(2, 0) TLS_Exception : public Exception {
20
   public:
21
3.36k
      Alert::Type type() const { return m_alert_type; }
22
23
      explicit TLS_Exception(Alert::Type type, std::string_view err_msg = "Unknown error") :
24
5.87k
            Exception(err_msg), m_alert_type(type) {}
25
26
0
      int error_code() const noexcept override { return static_cast<int>(m_alert_type); }
27
28
0
      ErrorType error_type() const noexcept override { return ErrorType::TLSError; }
29
30
   private:
31
      Alert::Type m_alert_type;
32
};
33
34
/**
35
* Unexpected_Message Exception
36
*/
37
class BOTAN_PUBLIC_API(2, 0) Unexpected_Message final : public TLS_Exception {
38
   public:
39
264
      explicit Unexpected_Message(std::string_view err) : TLS_Exception(AlertType::UnexpectedMessage, err) {}
40
};
41
42
}  // namespace Botan::TLS
43
44
#endif