# 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 Throwable

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

### Methods declared in class 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.