OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart.core; | 5 part of dart.core; |
6 | 6 |
7 class Error { | 7 class Error { |
8 const Error(); | 8 const Error(); |
9 | 9 |
10 /** | 10 /** |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 /** | 86 /** |
87 * Create a new [RangeError] with the given [message]. | 87 * Create a new [RangeError] with the given [message]. |
88 * | 88 * |
89 * Temporarily made const for backwards compatibilty. | 89 * Temporarily made const for backwards compatibilty. |
90 */ | 90 */ |
91 RangeError(var message) : super(message); | 91 RangeError(var message) : super(message); |
92 | 92 |
93 /** Create a new [RangeError] with a message for the given [value]. */ | 93 /** Create a new [RangeError] with a message for the given [value]. */ |
94 RangeError.value(num value) : super("value $value"); | 94 RangeError.value(num value) : super("value $value"); |
95 | 95 |
| 96 /** Create a new [RangeError] with a message for a value and a range. */ |
| 97 RangeError.range(num value, num start, num end) |
| 98 : super("value $value not in range $start..$end"); |
| 99 |
96 String toString() => "RangeError: $message"; | 100 String toString() => "RangeError: $message"; |
97 } | 101 } |
98 | 102 |
99 | 103 |
100 /** | 104 /** |
101 * Error thrown when control reaches the end of a switch case. | 105 * Error thrown when control reaches the end of a switch case. |
102 * | 106 * |
103 * The Dart specification requires this error to be thrown when | 107 * The Dart specification requires this error to be thrown when |
104 * control reaches the end of a switch case (except the last case | 108 * control reaches the end of a switch case (except the last case |
105 * of a switch) without meeting a break or similar end of the control | 109 * of a switch) without meeting a break or similar end of the control |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 * This is a generic error used for a variety of different erroneous | 235 * This is a generic error used for a variety of different erroneous |
232 * actions. The message should be descriptive. | 236 * actions. The message should be descriptive. |
233 */ | 237 */ |
234 class StateError implements Error { | 238 class StateError implements Error { |
235 final String message; | 239 final String message; |
236 StateError(this.message); | 240 StateError(this.message); |
237 String toString() => "Bad state: $message"; | 241 String toString() => "Bad state: $message"; |
238 } | 242 } |
239 | 243 |
240 | 244 |
| 245 /** |
| 246 * Error occurring when a collection is modified during iteration. |
| 247 * |
| 248 * Some modifications may be allowed for some collections, so each collection |
| 249 * ([Iterable] or similar collection of values) should declare which operations |
| 250 * are allowed during an iteration. |
| 251 */ |
| 252 class ConcurrentModificationError implements Error { |
| 253 /** The object that was modified in an incompatible way. */ |
| 254 final Object modifiedObject; |
| 255 |
| 256 const ConcurrentModificationError([this.modifiedObject]); |
| 257 |
| 258 String toString() { |
| 259 if (modifiedObject == null) { |
| 260 return "Concurrent modification during iteration."; |
| 261 } |
| 262 return "Concurrent modification during iteration: " |
| 263 "${Error.safeToString(modifiedObject)}."; |
| 264 } |
| 265 } |
| 266 |
| 267 |
241 class OutOfMemoryError implements Error { | 268 class OutOfMemoryError implements Error { |
242 const OutOfMemoryError(); | 269 const OutOfMemoryError(); |
243 String toString() => "Out of Memory"; | 270 String toString() => "Out of Memory"; |
244 } | 271 } |
245 | 272 |
246 class StackOverflowError implements Error { | 273 class StackOverflowError implements Error { |
247 const StackOverflowError(); | 274 const StackOverflowError(); |
248 String toString() => "Stack Overflow"; | 275 String toString() => "Stack Overflow"; |
249 } | 276 } |
250 | 277 |
251 /** | 278 /** |
252 * Error thrown when a runtime error occurs. | 279 * Error thrown when a runtime error occurs. |
253 */ | 280 */ |
254 class RuntimeError implements Error { | 281 class RuntimeError implements Error { |
255 final message; | 282 final message; |
256 RuntimeError(this.message); | 283 RuntimeError(this.message); |
257 String toString() => "RuntimeError: $message"; | 284 String toString() => "RuntimeError: $message"; |
258 } | 285 } |
OLD | NEW |