summary property Null safety
Returns a short (one line) description of the problem that was detected.
If the exception contains an ErrorSummary that summary is used, otherwise the summary is inferred from the string representation of the exception.
In release mode, this always returns a DiagnosticsNode.message with a formatted version of the exception.
Implementation
DiagnosticsNode get summary {
String formatException() => exceptionAsString().split('\n')[0].trimLeft();
if (kReleaseMode) {
return DiagnosticsNode.message(formatException());
}
final Diagnosticable? diagnosticable = _exceptionToDiagnosticable();
DiagnosticsNode? summary;
if (diagnosticable != null) {
final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder();
debugFillProperties(builder);
summary = builder.properties.cast<DiagnosticsNode?>().firstWhere((DiagnosticsNode? node) => node!.level == DiagnosticLevel.summary, orElse: () => null);
}
return summary ?? ErrorSummary(formatException());
}