# 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`
Modifier and Type
Method
Description
`final void`
`addSuppressed(Throwable exception)`
Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
`Throwable`
`fillInStackTrace()`
Fills in the execution stack trace.
`Throwable`
`getCause()`
Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
`String`
`getLocalizedMessage()`
Creates a localized description of this throwable.
`String`
`getMessage()`
Returns the detail message string of this throwable.
`StackTraceElement[]`
`getStackTrace()`
Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
`final Throwable[]`
`getSuppressed()`
Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
`void`
`printStackTrace()`
Prints this throwable and its backtrace to the standard error stream.
`void`
`printStackTrace(PrintStream s)`
Prints this throwable and its backtrace to the specified print stream.
`void`
`printStackTrace(PrintWriter s)`
Prints this throwable and its backtrace to the specified print writer.
`void`
`setStackTrace(StackTraceElement[] stackTrace)`
Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.
`String`
`toString()`
Returns a short description of this throwable.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

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