FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
RunErrors.h
1#pragma once
4
5#include <fhsim/PrintDuringExec.h>
6#include <fhsim/simobject/ISimObjectCreator.h>
7
8#include <stdexcept>
9#include <string>
10
11namespace RbCable
12{
18inline PrintDuringExec* SharedPrinter(ISimObjectCreator* const creator)
19{
20 return creator->GetSharedResource<PrintDuringExec>(fhsim::kSimMgrKeyPrinter, fhsim::LogLevel_Debug);
21}
22
29[[noreturn]] inline void ReportRunError(PrintDuringExec* const printer, const std::string& message)
30{
31 if (printer != nullptr) {
32 printer->ReportError(message);
33 }
34 throw std::runtime_error(message);
35}
36} // namespace RbCable