WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
ExecutionException.h
1 
11 #ifndef WRENCH_EXECUTION_EXCEPTION_H
12 #define WRENCH_EXECUTION_EXCEPTION_H
13 
14 #include <exception>
15 #include <memory>
16 #include <string>
17 #include <utility>
18 #include <string.h>
19 
20 #include "wrench/failure_causes/FailureCause.h"
21 
22 namespace wrench {
23 
24  /***********************/
26  /***********************/
27 
33  class ExecutionException: public std::exception {
34 
35  private:
36  std::shared_ptr<FailureCause> cause;
37 
38  public:
39 
44  virtual const char* what() const throw()
45  {
46  // Without the strdup() below, we get some valgrind warnings...
47  return strdup(cause->toString().c_str());
48  }
49 
54  std::shared_ptr<FailureCause> getCause() {
55  return this->cause;
56  }
57 
58 
59  /***********************/
61  /***********************/
62 
67  explicit ExecutionException(std::shared_ptr<FailureCause> cause) {
68  this->cause = std::move(cause);
69  }
70 
71  /***********************/
73  /***********************/
74  };
75 
76 
77  /***********************/
79  /***********************/
80 
81 
82 }
83 
84 
85 #endif //WRENCH_EXECUTION_EXCEPTION_H
wrench::ExecutionException::getCause
std::shared_ptr< FailureCause > getCause()
Get the failure cause.
Definition: ExecutionException.h:54
wrench
Definition: Action.cpp:28
wrench::ExecutionException
An generic exception that is thrown whenever something unexpected (but simulation-valid) occurs durin...
Definition: ExecutionException.h:33
wrench::ExecutionException::what
virtual const char * what() const
Get the exception's error message.
Definition: ExecutionException.h:44