OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 import 'package:source_span/source_span.dart'; |
| 6 |
| 7 /// Runs [body] and wraps any format exceptions it produces. |
| 8 /// |
| 9 /// [name] should describe the type of thing being parsed, and [value] should be |
| 10 /// its actual value. |
| 11 wrapFormatException(String name, String value, body()) { |
| 12 try { |
| 13 return body(); |
| 14 } on SourceSpanFormatException catch (error) { |
| 15 throw new SourceSpanFormatException( |
| 16 'Invalid $name: ${error.message}', error.span, error.source); |
| 17 } on FormatException catch (error) { |
| 18 throw new FormatException( |
| 19 'Invalid $name "$value": ${error.message}', |
| 20 error.source, |
| 21 error.offset); |
| 22 } |
| 23 } |
OLD | NEW |