core.exception

The exception module defines all system-level exceptions and provides a mechanism to alter system-level error handling.

License:
Boost License 1.0.
Authors:
Sean Kelly and Jonathan M Davis
Source
core/exception.d
class RangeError: object.Error;

Thrown on a range error.

class AssertError: object.Error;

Thrown on an assert error.

class FinalizeError: object.Error;

Thrown on finalize error.

class OutOfMemoryError: object.Error;

Thrown on an out of memory error.

class InvalidMemoryOperationError: object.Error;

Thrown on an invalid memory operation.

An invalid memory operation error occurs in circumstances when the garbage collector has detected an operation it cannot reliably handle. The default D GC is not re-entrant, so this can happen due to allocations done from within finalizers called during a garbage collection cycle.

class SwitchError: object.Error;

Thrown on a switch error.

class UnicodeException: object.Exception;

Thrown on a unicode conversion error.

alias AssertHandler = void function(string file, ulong line, string msg) nothrow;

nothrow @nogc @property @trusted AssertHandler assertHandler();

nothrow @nogc @property @trusted void assertHandler(AssertHandler handler);

Gets/sets assert hander. null means the default handler is used.

nothrow void onAssertError(string file = __FILE__, size_t line = __LINE__);

A callback for assert errors in D. The user-supplied assert handler will be called if one has been supplied, otherwise an AssertError will be thrown.

Parameters:
string file The name of the file that signaled this error.
size_t line The line number on which this error occurred.
nothrow void onAssertErrorMsg(string file, size_t line, string msg);

A callback for assert errors in D. The user-supplied assert handler will be called if one has been supplied, otherwise an AssertError will be thrown.

Parameters:
string file The name of the file that signaled this error.
size_t line The line number on which this error occurred.
string msg An error message supplied by the user.
nothrow void onUnittestErrorMsg(string file, size_t line, string msg);

A callback for unittest errors in D. The user-supplied unittest handler will be called if one has been supplied, otherwise the error will be written to stderr.

Parameters:
string file The name of the file that signaled this error.
size_t line The line number on which this error occurred.
string msg An error message supplied by the user.
pure nothrow @nogc @trusted void onRangeError(string file = __FILE__, size_t line = __LINE__);

A callback for array bounds errors in D. A RangeError will be thrown.

Parameters:
string file The name of the file that signaled this error.
size_t line The line number on which this error occurred.
Throws:
RangeError.
nothrow @trusted void onFinalizeError(TypeInfo info, Throwable e, string file = __FILE__, size_t line = __LINE__);

A callback for finalize errors in D. A FinalizeError will be thrown.

Parameters:
TypeInfo info The TypeInfo instance for the object that failed finalization.
Throwable e The exception thrown during finalization.
string file The name of the file that signaled this error.
size_t line The line number on which this error occurred.
Throws:
FinalizeError.
pure nothrow @nogc @trusted void onOutOfMemoryError(void* pretend_sideffect = null);

A callback for out of memory errors in D. An OutOfMemoryError will be thrown.

Throws:
OutOfMemoryError.
pure nothrow @nogc @trusted void onInvalidMemoryOperationError(void* pretend_sideffect = null);

A callback for invalid memory operations in D. An InvalidMemoryOperationError will be thrown.

Throws:
InvalidMemoryOperationError.
pure @safe void onUnicodeError(string msg, size_t idx, string file = __FILE__, size_t line = __LINE__);

A callback for unicode errors in D. A UnicodeException will be thrown.

Parameters:
string msg Information about the error.
size_t idx String index where this error was detected.
string file The name of the file that signaled this error.
size_t line The line number on which this error occurred.
Throws:
UnicodeException.
void _d_assertp(immutable(char)* file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_assert_msg(string msg, string file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_assert(string file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_unittestp(immutable(char)* file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_unittest_msg(string msg, string file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_unittest(string file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_arrayboundsp(immutable(char*) file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

void _d_arraybounds(string file, uint line);

These functions must be defined for any D program linked against this library.

Function calls to these are generated by the compiler and inserted into the object code.

© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/core_exception.html