diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/exceptions.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/exceptions.h b/src/exceptions.h new file mode 100644 index 0000000..cd76368 --- /dev/null +++ b/src/exceptions.h @@ -0,0 +1,29 @@ +#ifndef PARSER_SRC_EXCEPTIONS_H_ +#define PARSER_SRC_EXCEPTIONS_H_ + +#include <exception> + +namespace SimpleParser { + +class parenthese_exception: public std::exception { + virtual const char* what() const throw() { + return "Invalid parenthesized expression - check your input term."; + } +}; + +class operator_exception: public std::exception { + virtual const char* what() const throw() { + return "Unexpected operator placement - check your input term."; + } +}; + +class divide_exception: public std::exception { + virtual const char* what() const throw() + { + return "A divison through zero had to be prevented by the parser - check your input term."; + } +}; + +} + +#endif // PARSER_SRC_EXCEPTIONS_H_ |