PrivilegedExceptionAction (Java SE 14 & JDK 14)
Description: declaration: module: java.base, package: java.security, interface: PrivilegedExceptionAction
Keywords: java.security.PrivilegedExceptionAction interface

Module java.base
Package java.security

# Interface PrivilegedExceptionAction<T>

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)`