libdap Updated for version 3.21.1
libdap4 is an implementation of OPeNDAP's DAP protocol.
InternalErr.cc
Go to the documentation of this file.
1
2// -*- mode: c++; c-basic-offset:4 -*-
3
4// This file is part of libdap, A C++ implementation of the OPeNDAP Data
5// Access Protocol.
6
7// Copyright (c) 2002,2003 OPeNDAP, Inc.
8// Author: James Gallagher <jgallagher@opendap.org>
9//
10// This library is free software; you can redistribute it and/or
11// modify it under the terms of the GNU Lesser General Public
12// License as published by the Free Software Foundation; either
13// version 2.1 of the License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23//
24// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25
26// (c) COPYRIGHT URI/MIT 1999
27// Please read the full copyright statement in the file COPYRIGHT_URI.
28//
29// Authors:
30// jhrg,jimg James Gallagher <jgallagher@gso.uri.edu>
31
32// Implementation for the InternalErr class.
33
34#include "config.h"
35
36#include <sstream>
37#include <string>
38
39#include "InternalErr.h"
40#include "util.h"
41
42using std::endl;
43using std::ostringstream;
44
45namespace libdap {
46
48
49InternalErr::InternalErr(const string &msg) : Error() {
51 _error_message = "";
52 _error_message += "An internal error was encountered:\n";
53 _error_message += msg + "\n";
54 _error_message += "Please report this to support@opendap.org\n";
55}
56
57// InternalErr::InternalErr(string msg, string file, int line)
58// : Error(unknown_error, msg)
59InternalErr::InternalErr(const string &file, const int &line, const string &msg) : Error(msg, file, line) {
61 _error_message = "";
62 _error_message += "An internal error was encountered in " + file + " at line ";
63 // Jose Garcia. Next we append line to the string _error_code.
64 // This function is defined in util.h
66 _error_message += ":\n";
67 _error_message += msg + "\n";
68 _error_message += "Please report this to support@opendap.org\n";
69}
70
71InternalErr::InternalErr(const InternalErr &copy_from) noexcept : Error(copy_from) {}
72
74
76 if (this == &rhs)
77 return *this;
78
81
82 d_file = rhs.d_file;
83 d_line = rhs.d_line;
84
85 return *this;
86}
87
91bool InternalErr::OK() { return Error::OK(); }
92
93} // namespace libdap
#define internal_error
Internal server error (500)
Definition Error.h:63
ErrorCode _error_code
Definition Error.h:94
std::string _error_message
Definition Error.h:95
std::string d_file
Definition Error.h:96
bool OK() const
Is the Error object valid?
Definition Error.cc:87
int d_line
Definition Error.h:97
InternalErr & operator=(const InternalErr &rhs)
InternalErr(const string &msg)
~InternalErr() noexcept override
bool OK()
Is the InternalErr object valid?
top level DAP object to house generic methods
Definition AISConnect.cc:30
void append_long_to_string(long val, int base, string &str_val)
Definition util.cc:919