Написание своего собственного исключения

Создать свой собственный класс исключений в D очень просто – достаточно наследоваться от класса Exception.

Вот самый элементарный пример:

// исключение, обозначающее, что файл программы не найден
class ProgramNotFoundException : Exception
{
	public
	{
		@safe pure nothrow this(
			string message,
			string file = __FILE__,
			size_t line = __LINE__,
			Throwable next = null)
		{
			super(message, file, line, next);
		}
	}
}

Вызвать такое исключение еще проще:

throw new ProgramNotFoundException("Important part of this program not found");

Добавить комментарий