diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-08-06 22:05:12 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-08-06 22:05:12 +0000 |
commit | a99a3693b2c69ffd6a4268c9020593f62a3474eb (patch) | |
tree | f71e299b8ba2de95141d5ccfc3a150fd8b1b97b1 /src/options/option_exception.h | |
parent | cc8385b0dbb58419d91e3349a0fd52f6b8452d90 (diff) |
Support setting :regular-output-channel and :diagnostic-output-channel.
Also some cleanup of option-related exceptions infrastructure.
Diffstat (limited to 'src/options/option_exception.h')
-rw-r--r-- | src/options/option_exception.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/options/option_exception.h b/src/options/option_exception.h new file mode 100644 index 000000000..657bc7568 --- /dev/null +++ b/src/options/option_exception.h @@ -0,0 +1,58 @@ +/********************* */ +/*! \file option_exception.h + ** \verbatim + ** Original author: mdeters + ** Major contributors: taking, cconway + ** Minor contributors (to current version): dejan + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009-2012 The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + ** See the file COPYING in the top-level source directory for licensing + ** information.\endverbatim + ** + ** \brief Options-related exceptions + ** + ** Options-related exceptions. + **/ + +#include "cvc4_public.h" + +#ifndef __CVC4__OPTION_EXCEPTION_H +#define __CVC4__OPTION_EXCEPTION_H + +#include "util/exception.h" + +namespace CVC4 { + +/** + * Class representing an option-parsing exception such as badly-typed + * or missing arguments, arguments out of bounds, etc. If an option + * name is itself unrecognized, a UnrecognizedOptionException (a derived + * class, below) should be used instead. + */ +class CVC4_PUBLIC OptionException : public CVC4::Exception { +public: + OptionException(const std::string& s) throw() : + CVC4::Exception("Error in option parsing: " + s) { + } +};/* class OptionException */ + +/** + * Class representing an exception in option processing due to an + * unrecognized or unsupported option key. + */ +class CVC4_PUBLIC UnrecognizedOptionException : public CVC4::OptionException { +public: + UnrecognizedOptionException() : + CVC4::OptionException("Unrecognized informational or option key or setting") { + } + + UnrecognizedOptionException(const std::string& msg) : + CVC4::OptionException(msg) { + } +};/* class UnrecognizedOptionException */ + +}/* CVC4 namespace */ + +#endif /* __CVC4__OPTION_EXCEPTION_H */ |