ROSE  0.9.12.28
BaseSemanticsException.h
1 #ifndef ROSE_BinaryAnalysis_InstructionSemantics2_BaseSemantics_Exception_H
2 #define ROSE_BinaryAnalysis_InstructionSemantics2_BaseSemantics_Exception_H
3 
4 #include <BaseSemanticsTypes.h>
5 #include <RoseException.h>
6 
7 namespace Rose {
8 namespace BinaryAnalysis {
9 namespace InstructionSemantics2 {
10 namespace BaseSemantics {
11 
13 // Exceptions
15 
17 class Exception: public Rose::Exception {
18 public:
19  SgAsmInstruction *insn;
20  Exception(const std::string &mesg, SgAsmInstruction *insn): Rose::Exception(mesg), insn(insn) {}
21  void print(std::ostream&) const;
22 };
23 
24 class NotImplemented: public Exception {
25 public:
26  NotImplemented(const std::string &mesg, SgAsmInstruction *insn)
27  : Exception(mesg, insn) {}
28 };
29 
30 std::ostream& operator<<(std::ostream&, const Exception&);
31 
32 } // namespace
33 } // namespace
34 } // namespace
35 } // namespace
36 
37 #endif
Base class for machine instructions.
Main namespace for the ROSE library.
Base class for all ROSE exceptions.
Definition: RoseException.h:9
Base class for exceptions thrown by instruction semantics.