// D import file generated from '../../../../libphobos/libdruntime/core/exception.d'
module core.exception;
import core.stdc.stdio;
private 
{
	alias void function(string file, size_t line, string msg) errorHandlerType;
	__gshared errorHandlerType assertHandler = null;

}
class RangeError : Error
{
	this(string file = __FILE__, size_t line = __LINE__, Throwable next = null);
}
class AssertError : Error
{
	this(string file, size_t line);
	this(Throwable next, string file = __FILE__, size_t line = __LINE__);
	this(string msg, string file = __FILE__, size_t line = __LINE__, Throwable next = null);
}
class FinalizeError : Error
{
	ClassInfo info;
	this(ClassInfo ci, Throwable next, string file = __FILE__, size_t line = __LINE__);
	this(ClassInfo ci, string file = __FILE__, size_t line = __LINE__, Throwable next = null);
	const override @safe string toString();

}
class HiddenFuncError : Error
{
	this(ClassInfo ci);
}
class OutOfMemoryError : Error
{
	this(string file = __FILE__, size_t line = __LINE__, Throwable next = null);
	const override @trusted string toString();

}
class InvalidMemoryOperationError : Error
{
	this(string file = __FILE__, size_t line = __LINE__, Throwable next = null);
	const override @trusted string toString();

}
class SwitchError : Error
{
	this(string file = __FILE__, size_t line = __LINE__, Throwable next = null);
}
class UnicodeException : Exception
{
	size_t idx;
	this(string msg, size_t idx, string file = __FILE__, size_t line = __LINE__, Throwable next = null);
}
void setAssertHandler(errorHandlerType h);
extern (C) void onAssertError(string file = __FILE__, size_t line = __LINE__);

extern (C) void onAssertErrorMsg(string file, size_t line, string msg);

extern (C) void onUnittestErrorMsg(string file, size_t line, string msg);

extern (C) void onRangeError(string file = __FILE__, size_t line = __LINE__);

extern (C) void onFinalizeError(ClassInfo info, Exception e, string file = __FILE__, size_t line = __LINE__);

extern (C) void onHiddenFuncError(Object o);

extern (C) void onOutOfMemoryError();

extern (C) void onInvalidMemoryOperationError();

extern (C) void onSwitchError(string file = __FILE__, size_t line = __LINE__);

extern (C) void onUnicodeError(string msg, size_t idx, string file = __FILE__, size_t line = __LINE__);

