toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse
function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString
to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
final buffer = StringBuffer();
final exceptionType = runtimeType.toString();
buffer.write(exceptionType);
if (message != null) {
buffer.write(": $message");
}
if (stackTrace != null) {
buffer.writeln();
_printStackTrace(buffer, exceptionType, stackTrace!);
}
if (innerException != null) {
if (innerException is AppException) {
buffer.writeln("Caused by: $innerException");
} else {
buffer.write("Caused by: $innerException\n");
if (innerStackTrace != null) {
_printStackTrace(buffer, exceptionType, innerStackTrace!);
}
}
}
return buffer.toString();
}