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