# Interface ExceptionsAttribute

All Superinterfaces:
  `Attribute<ExceptionsAttribute>, ClassFileElement, MethodElement`

public sealed interface ExceptionsAttribute extends Attribute<ExceptionsAttribute>, MethodElement
Models the `Exceptions` attribute (JVMS §4.7.5), which records the exceptions declared to be thrown by this method.

This attribute only appears on methods, and does not permit multiple instances in a method. It has a data dependency on the constant pool.

The attribute was introduced in the Java Platform version 1.0.2, major version 45.

API Note:
  Generic exceptions types thrown by a method and potentially annotated use of those types are defined by `SignatureAttribute` and `RuntimeVisibleTypeAnnotationsAttribute` respectively, which requires this attribute to be present.
See Java Virtual Machine Specification:
  4.7.5 The `Exceptions` Attribute
Since:
  24
See Also:
  - `Attributes.exceptions()`

## Method Summary

Modifier and Type
Method
Description
`List<ClassEntry>`
`exceptions()`
Returns the exceptions declared to be thrown by this method.
`static ExceptionsAttribute`
`of(ClassEntry... exceptions)`
Returns an `Exceptions` attribute.
`static ExceptionsAttribute`
`of(List<ClassEntry> exceptions)`
Returns an `Exceptions` attribute.
`static ExceptionsAttribute`
`ofSymbols(ClassDesc... exceptions)`
Returns an `Exceptions` attribute.
`static ExceptionsAttribute`
`ofSymbols(List<ClassDesc> exceptions)`
Returns an `Exceptions` attribute.

### Methods declared in interface Attribute

`attributeMapper, attributeName`
Modifier and Type
Method
Description
`AttributeMapper<ExceptionsAttribute>`
`attributeMapper()`
Returns the `AttributeMapper` associated with this attribute.
`Utf8Entry`
`attributeName()`
Returns the name of the attribute.

## Method Details

### exceptions

List<ClassEntry> exceptions()
Returns the exceptions declared to be thrown by this method.

Returns:
  the exceptions declared to be thrown by this method
See Also:
  - `Executable.getExceptionTypes()`

### of

static ExceptionsAttribute of(List<ClassEntry> exceptions)
Returns an `Exceptions` attribute.

Parameters:
  `exceptions` - the exceptions that may be thrown from this method
Returns:
  an `Exceptions` attribute
Throws:
  `IllegalArgumentException` - if the number of exceptions exceeds the limit of `u2`

### of

static ExceptionsAttribute of(ClassEntry... exceptions)
Returns an `Exceptions` attribute.

Parameters:
  `exceptions` - the exceptions that may be thrown from this method
Returns:
  an `Exceptions` attribute
Throws:
  `IllegalArgumentException` - if the number of exceptions exceeds the limit of `u2`

### ofSymbols

static ExceptionsAttribute ofSymbols(List<ClassDesc> exceptions)
Returns an `Exceptions` attribute.

Parameters:
  `exceptions` - the exceptions that may be thrown from this method
Returns:
  an `Exceptions` attribute
Throws:
  `IllegalArgumentException` - if the number of exceptions exceeds the limit of `u2`

### ofSymbols

static ExceptionsAttribute ofSymbols(ClassDesc... exceptions)
Returns an `Exceptions` attribute.

Parameters:
  `exceptions` - the exceptions that may be thrown from this method
Returns:
  an `Exceptions` attribute
Throws:
  `IllegalArgumentException` - if the number of exceptions exceeds the limit of `u2`