diff --git a/pkgs/source_maps/CHANGELOG.md b/pkgs/source_maps/CHANGELOG.md
index e278458..3730a10 100644
--- a/pkgs/source_maps/CHANGELOG.md
+++ b/pkgs/source_maps/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.9.2
+
+* Add `SpanException` and `SpanFormatException` classes.
+
 ## 0.9.1
 
 * Support unmapped areas in source maps.
diff --git a/pkgs/source_maps/lib/span.dart b/pkgs/source_maps/lib/span.dart
index f47e08e..cc48f19 100644
--- a/pkgs/source_maps/lib/span.dart
+++ b/pkgs/source_maps/lib/span.dart
@@ -360,3 +360,27 @@
   String getText(int start, [int end]) =>
     super.getText(start - _baseOffset, end == null ? null : end - _baseOffset);
 }
+
+/// A class for exceptions that have source span information attached.
+class SpanException implements Exception {
+  /// A message describing the exception.
+  final String message;
+
+  /// The span associated with this exception.
+  ///
+  /// This may be `null` if the source location can't be determined.
+  final Span span;
+
+  SpanException(this.message, this.span);
+
+  String toString({bool useColors: false, String color}) {
+    if (span == null) return message;
+    return span.getLocationMessage(message, useColors: useColors, color: color);
+  }
+}
+
+/// A [SpanException] that's also a [FormatException].
+class SpanFormatException extends SpanException implements FormatException {
+  SpanFormatException(String message, Span span)
+      : super(message, span);
+}
diff --git a/pkgs/source_maps/pubspec.yaml b/pkgs/source_maps/pubspec.yaml
index 3c946e0..213587c 100644
--- a/pkgs/source_maps/pubspec.yaml
+++ b/pkgs/source_maps/pubspec.yaml
@@ -1,5 +1,5 @@
 name: source_maps
-version: 0.9.1
+version: 0.9.2
 author: Dart Team <misc@dartlang.org>
 description: Library to programmatically manipulate source map files.
 homepage: http://www.dartlang.org
