dart-sdk/tests/language/exception/catch_liveness_test.dart
Robert Nystrom 74ef393e6d Migrate language_2/exception to NNBD.
Change-Id: I0f758fce0af79be77b2fc885afcc3bd17d9fb55e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142701
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2020-04-07 22:13:46 +00:00

30 lines
646 B
Dart

// Copyright (c) 2015, 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.
import "package:expect/expect.dart";
@pragma('dart2js:assumeDynamic')
@pragma('dart2js:noInline')
foo() => 1;
@pragma('dart2js:assumeDynamic')
@pragma('dart2js:noInline')
throwException() => throw 'x';
main() {
var x = 10;
var e2 = null;
try {
var t = foo();
throwException();
print(t);
x = 3;
} catch (e) {
Expect.equals(10, x);
e2 = e;
}
Expect.equals(10, x);
Expect.equals('x', e2);
}