Module java.net.http
Package java.net.http

# Class WebSocketHandshakeException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.net.http.WebSocketHandshakeException

All Implemented Interfaces:
  `Serializable`

public final class WebSocketHandshakeException extends IOException
Thrown when the opening handshake has failed.

Since:
  11
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WebSocketHandshakeException(HttpResponse<?> response)`
  Constructs a `WebSocketHandshakeException` with the given `HttpResponse`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `HttpResponse<?>`
  `getResponse()`
  Returns the server's counterpart of the opening handshake.
  `WebSocketHandshakeException`
  `initCause(Throwable cause)`
  Initializes the cause of this throwable to the specified value.

  ### Methods declared in class java.lang.Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### WebSocketHandshakeException

    public WebSocketHandshakeException(HttpResponse<?> response)
    Constructs a `WebSocketHandshakeException` with the given `HttpResponse`.
    Parameters:
      `response` - the `HttpResponse` that resulted in the handshake failure

- ## Method Details

  - ### getResponse

    public HttpResponse<?> getResponse()
    Returns the server's counterpart of the opening handshake.

    The value may be unavailable (`null`) if this exception has been serialized and then deserialized.

    API Note:
      The primary purpose of this method is to allow programmatic examination of the reasons behind the failure of the opening handshake. Some of these reasons might allow recovery.
    Returns:
      server response

  - ### initCause

    public WebSocketHandshakeException initCause(Throwable cause)
    Description copied from class: `Throwable`
    Initializes the cause of this throwable to the specified value. (The cause is the throwable that caused this throwable to get thrown.)

    This method can be called at most once. It is generally called from within the constructor, or immediately after creating the throwable. If this throwable was created with `Throwable(Throwable)` or `Throwable(String,Throwable)`, this method cannot be called even once.

    An example of using this method on a legacy throwable type without other support for setting the cause is:

         try {
             lowLevelOp();
         } catch (LowLevelException le) {
             throw (HighLevelException)
                   new HighLevelException().initCause(le); // Legacy constructor
         }

    Overrides:
      `initCause` in class `Throwable`
    Parameters:
      `cause` - the cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A `null` value is permitted, and indicates that the cause is nonexistent or unknown.)
    Returns:
      a reference to this `Throwable` instance.