11 #ifndef WRENCH_EXECUTION_EXCEPTION_H
12 #define WRENCH_EXECUTION_EXCEPTION_H
20 #include "wrench/failure_causes/FailureCause.h"
33 class ExecutionException:
public std::exception {
36 std::shared_ptr<FailureCause> cause;
44 virtual const char* what()
const throw()
47 return strdup(cause->toString().c_str());
54 std::shared_ptr<FailureCause> getCause() {
67 explicit ExecutionException(std::shared_ptr<FailureCause> cause) {
68 this->cause = std::move(cause);
85 #endif //WRENCH_EXECUTION_EXCEPTION_H