//
//  Exceptions.hpp
//  Meteor
//
//  Created by Cesar Parent on 05/01/2016.
//  Copyright © 2016 Cesar Parent. All rights reserved.
//

#ifndef Exceptions_hpp
#define Exceptions_hpp

#include "../defines.h"
#include <string>
#include <stdexcept>

NS_BEGIN

class IOException : public std::runtime_error {
public:
    
    IOException(const std::string& file, const std::string& what) :
    std::runtime_error(std::string("I/O Exception (")+file+"): "+what) {}
    
};

class TypeMismatchException : public std::runtime_error {
public:
    
    TypeMismatchException(const std::string& expected) :
    std::runtime_error(std::string("Type Mismatch Exception: ")+expected+" expected") {}
    
};


NS_END

#endif /* Exceptions_hpp */
