// 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() { catchUntyped(); catchTyped(); catchStackTrace(); } //////////////////////////////////////////////////////////////////////////////// /// Untyped catch clause. //////////////////////////////////////////////////////////////////////////////// /*member: catchUntyped:[subclass=Object]*/ catchUntyped() { dynamic local = 0; try {} catch (e) { local = e; } return local; } //////////////////////////////////////////////////////////////////////////////// /// Typed catch clause. //////////////////////////////////////////////////////////////////////////////// /*member: catchTyped:Union([exact=JSString], [exact=JSUInt31])*/ catchTyped() { dynamic local = 0; try {} on String catch (e) { local = e; } return local; } //////////////////////////////////////////////////////////////////////////////// /// Catch clause with stack trace. //////////////////////////////////////////////////////////////////////////////// /*member: catchStackTrace:[null|subclass=Object]*/ catchStackTrace() { dynamic local = 0; try {} catch (_, s) { local = s; } return local; }