// Copyright (c) 2013, 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. // Dart test program for testing throw statement // VMOptions=--old_gen_heap_size=512 // @dart = 2.9 import "package:expect/expect.dart"; class Helper1 { static int func1() { return func2(); } static int func2() { return func3(); } static int func3() { return func4(); } static int func4() { var i = 0; try { i = 10; func5(); } on OutOfMemoryError catch (e) { i = 100; Expect.isNull(e.stackTrace, "OOM should not have a stackTrace on throw"); } return i; } static List func5() { // Cause an OOM(out of memory) exception. var l1 = new List(268435455); return l1; } } class OOMErrorStackTraceTest { static testMain() { Expect.equals(100, Helper1.func1()); } } main() { OOMErrorStackTraceTest.testMain(); }