summaryrefslogtreecommitdiffstats
path: root/contrib/libs/opentelemetry-cpp/api/include/opentelemetry/plugin/detail/utility.h
blob: 8e78fb4270239600c7233806e8c5743af2497284 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

#pragma once

#if __EXCEPTIONS
#  include <new>
#endif  // __EXCEPTIONS

#include <string>

#include "opentelemetry/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace plugin
{
namespace detail
{
inline void CopyErrorMessage(const char *source, std::string &destination) noexcept
#if __EXCEPTIONS
try
#endif
{
  if (source == nullptr)
  {
    return;
  }
  destination.assign(source);
}
#if __EXCEPTIONS
catch (const std::bad_alloc &)
{
  return;
}
#endif
}  // namespace detail
}  // namespace plugin
OPENTELEMETRY_END_NAMESPACE