Mercurial > projects > mde
diff mde/file/mergetag/exception.d @ 81:d8fccaa45d5f
Moved file IO code from mde/mergetag to mde/file[/mergetag] and changed how some errors are caught.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Fri, 29 Aug 2008 11:59:43 +0100 |
parents | mde/mergetag/exception.d@611f7b9063c6 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mde/file/mergetag/exception.d Fri Aug 29 11:59:43 2008 +0100 @@ -0,0 +1,91 @@ +/* LICENSE BLOCK +Part of mde: a Modular D game-oriented Engine +Copyright © 2007-2008 Diggory Hardy + +This program is free software: you can redistribute it and/or modify it under the terms +of the GNU General Public License as published by the Free Software Foundation, either +version 2 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/******************************************* + * Contains exception classes for MergeTag. + * + * Publically imports mde.exception. + ******************************************/ +module mde.file.mergetag.exception; + +public import mde.exception; + +/// Base MergeTag exception class. +class MTException : mdeException { + char[] getSymbol () { + return super.getSymbol ~ ".mergetag"; + } + + this (char[] msg) { + super(msg); + } + this () { // Only called when an unexpected exception/error occurs + super ("Unknown exception"); + } +} + +/** Thrown on file IO errors. */ +class MTFileIOException : MTException { + this () { + super ("File IO exception"); + } + this (char[] msg) { + super (msg); + } +} + +/** Thrown on unknown format errors; when reading or writing and the filetype cannot be guessed. */ +class MTFileFormatException : MTException { + this () { + super ("File format exception"); + } +} + +/** Thrown on syntax errors when reading; bad tags or unexpected EOF. */ +class MTSyntaxException : MTException { + this () { + super ("Syntax exception"); + } +} + +/** Thrown by addTag (in classes implementing IDataSection) when a data parsing error occurs +* (really just to make whoever called addTag to log a warning saying where the error occured). */ +class MTaddTagParseException : MTException { + this () { + super ("Parse exception within addTag"); + } +} + +/+ +/// Thrown by TypeView.parse on errors. +class MTBadTypeStringException : MTException { + this () {} +} ++/ + +/// Thrown by *Writer.write. +class MTNoDataSetException : MTException { + this () { + super ("No dataset"); + } +} + +/// Thrown when attempting to use an unimplemented part of the package +/// Really, just until MTB stuff is implemented +class MTNotImplementedException : MTException { + this () { + super ("Functionality not implemented!"); + } +}