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.
- Source
- ThrownExceptions.scala
- Alphabetic
- By Inheritance
- ThrownExceptions
- Serializable
- Product
- Equals
- ThrownExceptionsPropertyMetaInformation
- Property
- PropertyMetaInformation
- PropertyKind
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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
Returns
this
if this property inherits from OrderedProperty.Returns
this
if this property inherits from OrderedProperty.Used, e.g., by the framework to support debugging analyses.
- Definition Classes
- Property
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def id: Int
The id uniquely identifies this property's category.
The id uniquely identifies this property's category. All property objects of the same kind have to use the same id which is guaranteed since they share the same
PropertyKey
- Definition Classes
- PropertyMetaInformation → PropertyKind
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def isOrderedProperty: Boolean
Returns
true
if this property inherits from OrderedProperty.Returns
true
if this property inherits from OrderedProperty.- Definition Classes
- Property
- final def key: PropertyKey[ThrownExceptions]
The key uniquely identifies this property's category.
The key uniquely identifies this property's category. All property objects of the same kind have to use the same key.
In general each
Property
kind is expected to have a companion object that stores the uniquePropertyKey
.- Definition Classes
- ThrownExceptions → PropertyMetaInformation
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def throwsNoExceptions: Boolean
Returns
true
if and only if the method does not yet throw exceptions.Returns
true
if 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(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated