| // Copyright (c) 2012, 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. | |
| // Formatting can break multitests, so don't format them. | |
| // dart format off | |
| main() { | |
| testMissingCatch(); | |
| testMissingTry(); | |
| testDuplicateCatchVariable(); | |
| testIllegalFinally(); | |
| testIllegalCatch(); | |
| testIllegalRethrow(); | |
| } | |
| testMissingCatch() { | |
| try { } // //# 01: syntax error | |
| } | |
| testMissingTry() { | |
| on Exception catch (e) { } // //# 02: syntax error | |
| on Exception catch (e, trace) { } // //# 03: syntax error | |
| finally { } // //# 04: syntax error | |
| } | |
| testDuplicateCatchVariable() { | |
| try { } on Exception catch (e, e) { } //# 05: compile-time error | |
| } | |
| testIllegalFinally() { | |
| try { } finally (e) { } //# 06: syntax error | |
| } | |
| testIllegalCatch() { | |
| try { } catch () { } // //# 07: syntax error | |
| try { } on MammaMia catch (e) { } //# 08: compile-time error | |
| try { } catch (var e) { } // //# 09: syntax error | |
| try { } catch (final e) { } // //# 10: syntax error | |
| try { } catch (int e) { } // //# 11: syntax error | |
| try { } catch (final int e) { } // //# 12: syntax error | |
| try { } catch ([e, s]) { } // //# 13: syntax error | |
| try { } catch (e, [s]) { } // //# 14: syntax error | |
| try { } catch (e, [s0, s1]) { } // //# 15: syntax error | |
| } | |
| testIllegalRethrow() { | |
| try { rethrow; } catch (e) { } // //# 16: compile-time error | |
| try { } catch (e) { } finally { rethrow; } //# 17: compile-time error | |
| } |