case class ThrownExceptions(types: TypesSet) extends Property with ThrownExceptionsPropertyMetaInformation with Product with Serializable
The set of exceptions that are potentially thrown by a specific method. This includes the set of exceptions thrown by (transitively) called methods (if any). The property does not take the exceptions of methods which override the respective method into account. Nevertheless, in case of a method call all potential receiver methods are taken into consideration.
Note that it may be possible to compute some meaningful upper type bound for the set of
thrown exceptions even if methods are called for which the set of thrown exceptions is unknown.
This is generally the case if those calls are all done in a try block but the catch/finally
blocks only calls known methods - if any.
An example is shown next and even if we assume that we don't know
the exceptions potentially thrown by Class.forName, we could still determine that this method
will never throw an exception.
object Validator { def isAvailable(s : String) : Boolean = { try { Class.forName(s); true} finally {return false;} } }
Information about ThrownExceptions is generally associated with DeclaredMethods. I.e.,
the information is not attached to Method objects!
Note that the top-value of the lattice is the empty set and the bottom value is the set of all exceptions.
- Alphabetic
- By Inheritance
- ThrownExceptions
- Serializable
- Serializable
- Product
- Equals
- ThrownExceptionsPropertyMetaInformation
- Property
- PropertyMetaInformation
- PropertyKind
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
final
type
Self = ThrownExceptions
- Definition Classes
- ThrownExceptionsPropertyMetaInformation → PropertyMetaInformation
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
asOrderedProperty: OrderedProperty
- Definition Classes
- Property
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
id: Int
- Definition Classes
- PropertyMetaInformation → PropertyKind
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isOrderedProperty: Boolean
- Definition Classes
- Property
-
final
def
key: PropertyKey[ThrownExceptions]
- Definition Classes
- ThrownExceptions → PropertyMetaInformation
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
throwsNoExceptions: Boolean
Returns
trueif and only if the method does not yet throw exceptions.Returns
trueif and only if the method does not yet throw exceptions. I.e., if this property is still refinable then this property may still change. Otherwise, the analysis was able to determine that no exceptions are thrown. -
def
toString(): String
- Definition Classes
- ThrownExceptions → AnyRef → Any
- val types: TypesSet
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )