Removed a stray excess .cpp file.
This commit is contained in:
63
custex.cpp
63
custex.cpp
@@ -1,63 +0,0 @@
|
||||
#include <exception>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum {
|
||||
ABRT_GPF = 0,
|
||||
ABRT_PF,
|
||||
ABRT_SS,
|
||||
ABRT_TS,
|
||||
ABRT_NP,
|
||||
ABRT_DEBUG
|
||||
};
|
||||
|
||||
enum class exception_type
|
||||
{
|
||||
FAULT, TRAP, ABORT
|
||||
};
|
||||
|
||||
|
||||
struct Exception {
|
||||
|
||||
public:
|
||||
Exception(const string& msg) : msg_(msg) {}
|
||||
Exception(const string& msg, int type) : msg_(msg), type_(type) {}
|
||||
~Exception() {}
|
||||
|
||||
string getMessage() const {return(msg_);}
|
||||
int getType() const {return(type_);}
|
||||
private:
|
||||
string msg_;
|
||||
int type_;
|
||||
};
|
||||
|
||||
struct cpu_exception
|
||||
{
|
||||
exception_type type;
|
||||
uint8_t fault_type;
|
||||
uint32_t error_code;
|
||||
bool error_code_valid;
|
||||
cpu_exception(exception_type _type, uint8_t _fault_type, uint32_t errcode, bool errcodevalid)
|
||||
: type(_type)
|
||||
, fault_type(_fault_type)
|
||||
, error_code(errcode)
|
||||
, error_code_valid(errcodevalid) {}
|
||||
|
||||
cpu_exception(const cpu_exception& other) = default;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
try {
|
||||
// throw(Exception("0000:2C0E", ABRT_PF));
|
||||
throw cpu_exception(exception_type::FAULT, ABRT_GPF, 0, true);
|
||||
} catch (Exception& ex) {
|
||||
std::cout << "Type: " << ex.getType() << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
} catch(const cpu_exception& e) {
|
||||
std::cout << "Error code: " << e.error_code << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user