Gobelijn API documentation  - generated for commit a0cbea7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
app_exception.cpp
Go to the documentation of this file.
1 
7 #include "demos.h"
8 #include "objtracer/demobj.h"
9 #include "tracer/tracer.h"
10 #include <iostream>
11 
12 using namespace ODemo;
13 using namespace std;
14 
21 {
23  try {
24  COMP_MISC_BLOCK_TRACER("Try block");
25 
26  COMP_MISC_LOG_TRACER(" statement: Bicycle m1(\"Honda\", \"red\");");
27  Bicycle m1("Honda", "red");
28 
29  COMP_MISC_LOG_TRACER(" statement: m1.get_nfo();");
30  m1.info();
31 
32  COMP_MISC_LOG_TRACER(" statement: SailBoat s1(\"Marina\");");
33  SailBoat s1("Marina");
34  ;
35 
36  vector<double> direction(2);
37  direction[0] = 1.0;
38  direction[1] = -1.0;
39  COMP_MISC_LOG_TRACER(" statement: s1.move(4, direction);");
40  s1.move(4, direction);
41 
42  if (direction[0] == 1.0) {
43  throw SailingException("Help");
44  }
45 
46  COMP_MISC_LOG_TRACER(" statement: s1.startSinking();");
47  s1.start_sinking();
48 
49  COMP_MISC_LOG_TRACER(" statement: s1.displayInfo();");
50  s1.info();
51  } catch (LoadingException& e) {
52  COMP_MISC_LOG_TRACER(" catch clause with LoadingException");
53  e.info();
54  } catch (SailingException& e) {
55  COMP_MISC_LOG_TRACER(" catch clause with SailingException");
56  e.info();
57  } catch (Exception& e) {
58  COMP_MISC_LOG_TRACER(" catch clause with Exception");
59  e.info();
61  }
62  COMP_MISC_LOG_TRACER(" statement: return 0;");
63  return 0;
64 }
void info() const override
Return identification info.
Definition: SailBoat.cpp:54
const char * what() const noexceptoverride
Return message text.
Definition: Exception.cpp:20
Comprehensive include file for all tracer classes.
Simple Exception root class.
Header for object tracer demo routines.
virtual void info() const
Get info.
Definition: Exception.cpp:26
int app_exception()
Demo prog for ctor/dtor features in class derivation.
void info() const override
Get info.
Definition: Exception.cpp:34
#define COMP_MISC_FUNCTION_TRACER
Macro for tracking function scope.
void move(double speed, std::vector< double > direction) override
Sailboat motion.
Definition: SailBoat.cpp:66
void info() const override
Display info on model and color of the bike.
Definition: Bicycle.cpp:88
#define COMP_MISC_LOG_TRACER(MSG)
Macro for inserting log message into tracker output at current severity level.
Definition: TracerOutput.h:17
Comprehensive include file for all of objtracer.
Represents a simple Bicycle.
Definition: Bicycle.h:16
void info() const override
Get info.
Definition: Exception.cpp:38
A simple SailBoat class.
Definition: SailBoat.h:15
#define COMP_MISC_BLOCK_TRACER(MSG)
Macro for tracking block scope.
Definition: BlockTracer.h:12
void start_sinking()
Start sinking, even if you are already sinking.