/* * Copyright 2000-2011 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.io.*; class C { static class E extends Exception { } static class RE extends RuntimeException { } void f() { } void g() throws E { } void h() throws RE { } void m0() { try { throw new FileNotFoundException(); } catch (FileNotFoundException e) { } <warning descr="Unreachable section: exception 'java.io.FileNotFoundException' has already been caught">catch (IOException e) { }</warning> } void m1() { try { throw new IOException(); } catch (FileNotFoundException e) { } catch (IOException e) { } } void m2() { try { f(); } catch (Exception e) { } } void m3() { try { g(); } catch (Exception e) { } } void m4() { try { h(); } catch (Exception e) { } } void m5() { try { f(); } catch (Throwable t) { } } void m6() { try { g(); } catch (Throwable t) { } } void m7() { try { h(); } catch (Throwable t) { } } void m9() { try { f(); } catch (Error e) { } catch (Throwable t) { } } void m10() { try { g(); } catch (Error e) { } catch (Throwable t) { } } void m11() { try { h(); } catch (Error e) { } catch (Throwable t) { } } void m12() { try { f(); } catch (RuntimeException e) { } catch (Throwable t) { } } void m13() { try { g(); } catch (RuntimeException e) { } catch (Throwable t) { } } void m14() { try { h(); } catch (RuntimeException e) { } catch (Throwable t) { } } void m15() { try { f(); } catch (RuntimeException e) { } catch (Exception e) { } } void m16() { try { g(); } catch (RuntimeException e) { } catch (Exception e) { } } void m17() { try { h(); } catch (RuntimeException e) { } catch (Exception e) { } } void m18() { try { f(); } catch (RuntimeException e) { } catch (<error descr="Exception 'C.E' is never thrown in the corresponding try block">E e</error>) { } catch (Exception e) { } } void m19() { try { g(); } catch (RuntimeException e) { } catch (E e) { } catch (Exception e) { } } void m20() { try { h(); } catch (RuntimeException e) { } catch (<error descr="Exception 'C.E' is never thrown in the corresponding try block">E e</error>) { } catch (Exception e) { } } void m21() { try { f(); } catch (RuntimeException e) { } catch (Exception e) { } } void m22() { try { g(); } catch (RuntimeException e) { } catch (Exception e) { } } void m23() { try { h(); } catch (RuntimeException e) { } catch (Exception e) { } } void m24() { try { f(); } catch (RuntimeException e) { } catch (Error e) { } catch (Throwable t) { } } void m25() { try { g(); } catch (RuntimeException e) { } catch (Error e) { } catch (Throwable t) { } } void m26() { try { h(); } catch (RuntimeException e) { } catch (Error e) { } catch (Throwable t) { } } void m27() { try { f(); } catch (RuntimeException e) { } catch (Error e) { } catch (<error descr="Exception 'C.E' is never thrown in the corresponding try block">E e</error>) { } catch (Throwable t) { } } void m28() { try { g(); } catch (RuntimeException e) { } catch (Error e) { } catch (E e) { } catch (Throwable t) { } } void m29() { try { h(); } catch (RuntimeException e) { } catch (Error e) { } catch (<error descr="Exception 'C.E' is never thrown in the corresponding try block">E e</error>) { } catch (Throwable t) { } } void m30() { try { f(); } catch (RuntimeException e) { } catch (Error e) { } catch (Throwable t) { } } void m31() { try { g(); } catch (RuntimeException e) { } catch (Error e) { } catch (Throwable t) { } } void m32() { try { h(); } catch (RuntimeException e) { } catch (Error e) { } catch (Throwable t) { } } void m33() { try { g(); } catch (E e) { } } void m34() { try { h(); } catch (<error descr="Exception 'C.E' is never thrown in the corresponding try block">E e</error>) { } } void m35() { try { f(); } catch (<error descr="Exception 'C.E' is never thrown in the corresponding try block">E e</error>) { } } }