Mercurial > projects > mde
view 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 source
/* 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!"); } }