File: ATC_Error.h

package info (click to toggle)
lammps 20220106.git7586adbb6a%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 348,064 kB
  • sloc: cpp: 831,421; python: 24,896; xml: 14,949; f90: 10,845; ansic: 7,967; sh: 4,226; perl: 4,064; fortran: 2,424; makefile: 1,501; objc: 238; lisp: 163; csh: 16; awk: 14; tcl: 6
file content (52 lines) | stat: -rw-r--r-- 1,076 bytes parent folder | download | duplicates (5)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// ATC_Error : a base class for atom-continuum errors

#ifndef ATC_ERROR
#define ATC_ERROR

#include <string>

// the following two convert __LINE__ to a string
#define STRING2(x) #x
#define STRING(x) STRING2(x)
// prints file and line number for error messages
#define ERROR(x) __FILE__ ":" STRING(__LINE__) " " x
//#define FILELINE __FILE__+to_string(__LINE__)
#define FILELINE __FILE__

#define ERROR_FOR_BACKTRACE
#define HACK(l,m)


namespace ATC {
  /**
   *  @class  ATC_Error
   *  @brief  Base class for throwing run-time errors with descriptions
   */

class ATC_Error {

 public:
  // constructor
  ATC_Error(std::string errorDescription)
  {
    errorDescription_ = "ERROR: " + errorDescription;
    ERROR_FOR_BACKTRACE
  };

  ATC_Error(std::string location, std::string errorDescription)
  {
    errorDescription_ = "ERROR: " + location + ": "+ errorDescription;
    ERROR_FOR_BACKTRACE
  };

  std::string error_description() {
    return errorDescription_;
  };

 private:
  // string describing the type of error
  std::string errorDescription_;
};

}
#endif