| Index: sdk/lib/_internal/pub/lib/src/barback/load_transformers.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/barback/load_transformers.dart b/sdk/lib/_internal/pub/lib/src/barback/load_transformers.dart
|
| index 0f59bf93d350a443ffc7ae21021ed835bab0d652..36790001ab30116c63e2acdb03d15ff79e3a4497 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/barback/load_transformers.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/barback/load_transformers.dart
|
| @@ -316,22 +316,16 @@ class CrossIsolateException implements Exception {
|
| String toString() => "\$message\\n\$stackTrace";
|
| }
|
|
|
| -// Get a string description of an exception.
|
| -//
|
| -// Most exception types have a "message" property. We prefer this since
|
| -// it skips the "Exception:", "HttpException:", etc. prefix that calling
|
| -// toString() adds. But, alas, "message" isn't actually defined in the
|
| -// base Exception type so there's no easy way to know if it's available
|
| -// short of a giant pile of type tests for each known exception type.
|
| -//
|
| -// So just try it. If it throws, default to toString().
|
| -String getErrorMessage(error) {
|
| - try {
|
| - return error.message;
|
| - } on NoSuchMethodError catch (_) {
|
| - return error.toString();
|
| - }
|
| -}
|
| +/// A regular expression to match the exception prefix that some exceptions'
|
| +/// [Object.toString] values contain.
|
| +final _exceptionPrefix = new RegExp(r'^([A-Z][a-zA-Z]*)?(Exception|Error): ');
|
| +
|
| +/// Get a string description of an exception.
|
| +///
|
| +/// Many exceptions include the exception class name at the beginning of their
|
| +/// [toString], so we remove that if it exists.
|
| +String getErrorMessage(error) =>
|
| + error.toString().replaceFirst(_exceptionPrefix, '');
|
|
|
| /// Returns a buffered stream that will emit the same values as the stream
|
| /// returned by [future] once [future] completes. If [future] completes to an
|
|
|