2008-06-26 23:30:11 +04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <exception>
|
|
|
|
|
|
|
|
|
|
namespace YAML
|
|
|
|
|
{
|
|
|
|
|
class Exception: public std::exception {};
|
2008-06-30 10:21:12 +04:00
|
|
|
class ScannerException: public Exception {};
|
2008-07-02 05:22:39 +04:00
|
|
|
class RepresentationException: public Exception {};
|
2008-06-26 23:30:11 +04:00
|
|
|
|
2008-07-02 05:22:39 +04:00
|
|
|
// scanner exceptions
|
2008-06-30 10:21:12 +04:00
|
|
|
class UnknownToken: public ScannerException {};
|
|
|
|
|
class IllegalBlockEntry: public ScannerException {};
|
|
|
|
|
class IllegalMapKey: public ScannerException {};
|
|
|
|
|
class IllegalMapValue: public ScannerException {};
|
|
|
|
|
class IllegalScalar: public ScannerException {};
|
|
|
|
|
class IllegalTabInIndentation: public ScannerException {};
|
|
|
|
|
class IllegalFlowEnd: public ScannerException {};
|
|
|
|
|
class IllegalDocIndicator: public ScannerException {};
|
|
|
|
|
class IllegalEOF: public ScannerException {};
|
|
|
|
|
class RequiredSimpleKeyNotFound: public ScannerException {};
|
|
|
|
|
class ZeroIndentationInBlockScalar: public ScannerException {};
|
|
|
|
|
class UnexpectedCharacterInBlockScalar: public ScannerException {};
|
|
|
|
|
class AnchorNotFound: public ScannerException {};
|
|
|
|
|
class IllegalCharacterInAnchor: public ScannerException {};
|
2008-06-28 10:36:59 +04:00
|
|
|
|
2008-06-30 10:21:12 +04:00
|
|
|
class UnknownEscapeSequence: public ScannerException {
|
2008-06-28 03:11:46 +04:00
|
|
|
public:
|
|
|
|
|
UnknownEscapeSequence(char ch_): ch(ch_) {}
|
|
|
|
|
char ch;
|
|
|
|
|
};
|
2008-06-30 10:21:12 +04:00
|
|
|
class NonHexNumber: public ScannerException {
|
2008-06-28 03:11:46 +04:00
|
|
|
public:
|
|
|
|
|
NonHexNumber(char ch_): ch(ch_) {}
|
|
|
|
|
char ch;
|
|
|
|
|
};
|
2008-06-30 10:21:12 +04:00
|
|
|
class InvalidUnicode: public ScannerException {
|
2008-06-28 03:11:46 +04:00
|
|
|
public:
|
|
|
|
|
InvalidUnicode(unsigned value_): value(value_) {}
|
|
|
|
|
unsigned value;
|
|
|
|
|
};
|
2008-07-02 05:22:39 +04:00
|
|
|
|
|
|
|
|
// representation exceptions
|
|
|
|
|
class InvalidScalar: public RepresentationException {};
|
|
|
|
|
class BadDereference: public RepresentationException {};
|
2008-06-26 23:30:11 +04:00
|
|
|
}
|