| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion The try statement supports the definition of exception handling |
| /// code in a structured way. |
| /// tryStatement: |
| /// try block (onPart+ finallyPart? | finallyPart) |
| /// ; |
| /// onPart: |
| /// catchPart block | |
| /// on type catchPart? block |
| /// ; |
| /// catchPart: |
| /// catch ‘(’ identifier (‘, ’ identifier)? ‘)’ |
| /// ; |
| /// finallyPart: |
| /// finally block |
| /// ; |
| /// A try statement consists of a block statement, followed by at least one of: |
| /// 1. A set of on-catch clauses, each of which specifies (either explicitly or |
| /// implicitly) the type of exception object to be handled, one or two |
| /// exception parameters and a block statement. |
| /// 2. A finally clause, which consists of a block statement. |
| /// @description Checks that it is not a compile-time error if a catch clause |
| /// specifies parameters with a previously declared id. |
| /// @author kaigorodov |
| |
| import '../../../Utils/expect.dart'; |
| |
| main() { |
| var ex = null, st = null; |
| try { |
| throw "foo"; |
| } catch (ex, st) { |
| Expect.isNotNull(ex); |
| Expect.isNotNull(st); |
| } |
| } |