Module java.base
Package java.security

# Interface PrivilegedExceptionAction<T>

Type Parameters:
  `T` - the type of the result of running the computation

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface PrivilegedExceptionAction<T>
A computation to be performed with privileges enabled, that throws one or more checked exceptions. The computation is performed by invoking `AccessController.doPrivileged` on the `PrivilegedExceptionAction` object. This interface is used only for computations that throw checked exceptions; computations that do not throw checked exceptions should use `PrivilegedAction` instead.

Since:
  1.2
See Also:
  - `AccessController`
  - `AccessController.doPrivileged(PrivilegedExceptionAction)`
  - `AccessController.doPrivileged(PrivilegedExceptionAction, AccessControlContext)`
  - `PrivilegedAction`

## Method Summary

Modifier and Type
Method
Description
`T`
`run()`
Performs the computation.

## Method Details

### run

T run() throws Exception
Performs the computation. This method will be called by `AccessController.doPrivileged` after enabling privileges.

Returns:
  a class-dependent value that may represent the results of the computation. Each class that implements `PrivilegedExceptionAction` should document what (if anything) this value represents.
Throws:
  `Exception` - an exceptional condition has occurred. Each class that implements `PrivilegedExceptionAction` should document the exceptions that its run method can throw.
See Also:
  - `AccessController.doPrivileged(PrivilegedExceptionAction)`
  - `AccessController.doPrivileged(PrivilegedExceptionAction,AccessControlContext)`