// Copyright (c) 2017, 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 = 2.7 /*member: main:[null]*/ main() { unconditionalThrow(); conditionalThrow(); conditionalThrowReturn(); unconditionalRethrow(); } //////////////////////////////////////////////////////////////////////////////// /// Method that throws unconditionally. //////////////////////////////////////////////////////////////////////////////// /*member: unconditionalThrow:[empty]*/ unconditionalThrow() => throw 'foo'; //////////////////////////////////////////////////////////////////////////////// /// Method that throws conditionally. //////////////////////////////////////////////////////////////////////////////// /*member: _conditionalThrow:[null]*/ _conditionalThrow(/*[exact=JSBool]*/ o) { if (o) throw 'foo'; } /*member: conditionalThrow:[null]*/ conditionalThrow() { _conditionalThrow(true); _conditionalThrow(false); } //////////////////////////////////////////////////////////////////////////////// /// Method that throws conditionally and return 0. //////////////////////////////////////////////////////////////////////////////// /*member: _conditionalThrowReturn:[exact=JSUInt31]*/ _conditionalThrowReturn(/*[exact=JSBool]*/ o) { if (o) throw 'foo'; return 0; } /*member: conditionalThrowReturn:[null]*/ conditionalThrowReturn() { _conditionalThrowReturn(true); _conditionalThrowReturn(false); } //////////////////////////////////////////////////////////////////////////////// /// Method that rethrows unconditionally. //////////////////////////////////////////////////////////////////////////////// /*member: unconditionalRethrow:[null]*/ unconditionalRethrow() { try { throw 'foo'; } catch (e) { rethrow; } }