Model01.java revision 734
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd/*
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd *
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * This code is free software; you can redistribute it and/or modify it
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * under the terms of the GNU General Public License version 2 only, as
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * published by the Free Software Foundation.
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd *
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * This code is distributed in the hope that it will be useful, but WITHOUT
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * version 2 for more details (a copy is included in the LICENSE file that
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * accompanied this code).
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd *
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * You should have received a copy of the GNU General Public License version
3f08db06526d6901aa08c110b5bc7dde6bc39905nd * 2 along with this work; if not, write to the Free Software Foundation,
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd *
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3f08db06526d6901aa08c110b5bc7dde6bc39905nd * or visit www.oracle.com if you need additional information or have any
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd * questions.
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd */
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjungimport javax.lang.model.element.ElementKind;
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd@Check
282b62d8e9a4edbc2da22ba2d876ec94afc48084ndclass Test {
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd class A extends Exception {
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd @Member(ElementKind.METHOD)
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd public void m() {};
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd @Member(ElementKind.FIELD)
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd public Object f;
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd }
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd class B1 extends A {}
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin class B2 extends A {}
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin void test(){
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin try {
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin if (true)
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin throw new B1();
5da7a94d6237c66b561dfa4add47a3f954ed39e5minfrin else
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd throw new B2();
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd }
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd catch(B1 | B2 ex) { }
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd }
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd}
282b62d8e9a4edbc2da22ba2d876ec94afc48084nd