1 /*
2  * reserved comment block
3  * DO NOT REMOVE OR ALTER!
4  */
5 /*
6  * Licensed to the Apache Software Foundation (ASF) under one or more
7  * contributor license agreements.  See the NOTICE file distributed with
8  * this work for additional information regarding copyright ownership.
9  * The ASF licenses this file to You under the Apache License, Version 2.0
10  * (the "License"); you may not use this file except in compliance with
11  * the License.  You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 package com.sun.org.apache.bcel.internal.generic;
23 
24 /**
25  * Denote an instruction that may throw a run-time or a linking
26  * exception (or both) during execution.  This is not quite the truth
27  * as such; because all instructions may throw an
28  * java.lang.VirtualMachineError. These exceptions are omitted.
29  *
30  * The Lava Language Specification specifies exactly which
31  * <i>RUN-TIME</i> and which <i>LINKING</i> exceptions each
32  * instruction may throw which is reflected by the implementers.  Due
33  * to the structure of the JVM specification, it may be possible that
34  * an Instruction implementing this interface returns a Class[] of
35  * size 0.
36  *
37  * Please note that we speak of an "exception" here when we mean any
38  * "Throwable" object; so this term is equally used for "Exception"
39  * and "Error" objects.
40  *
41  */
42 public interface ExceptionThrower {
43 
getExceptions()44     java.lang.Class<?>[] getExceptions();
45 }
46