#pragma once
#include "error.hh"
#include "loadimage.hh"
#include "translate.hh"
#include "xml.hh"
namespace rust {
namespace behavior {
template <typename Try, typename Fail>
static void trycatch(Try &&func, Fail &&fail) noexcept {
try {
func();
} catch (const ghidra::UnimplError &e) {
fail("UnimplError: " + e.explain);
} catch (const ghidra::DataUnavailError &e) {
fail("DataUnavailError: " + e.explain);
} catch (const ghidra::LowlevelError &e) {
fail("LowlevelError: " + e.explain);
} catch (const ghidra::DecoderError &e) {
fail("DecoderError: " + e.explain);
} catch (const std::exception &e) {
fail(e.what());
}
}
} }