You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every now and then, someone complains because the real reason a remote session creation fails is hidden in the stack trace. This identifies the cause, if it exists, and displays it at the top level.
PR Type
Bug fix
Description
Improved error messaging for remote session creation failures
Extracts and displays the underlying cause message at the top level
Prevents real error reasons from being hidden in stack traces
Diagram Walkthrough
flowchart LR
A["Session Creation Error"] --> B["Check for Cause"]
B --> C["Extract Cause Message"]
C --> D["Display at Top Level"]
Replace e.getCause().getMessage() with e.getCause().toString() to prevent a literal "null" from appearing in the exception message if the cause's message is null.
// When this exception comes from a remote end, the real cause is usually hidden in the
// cause. Let's try to rescue it and display it at the top level.
-String cause = e.getCause() != null ? e.getCause().getMessage() : "";+String cause = e.getCause() != null ? e.getCause().toString() : "";
toThrow =
new SessionNotCreatedException(
"Possible causes are invalid address of the remote server or browser start-up"
+ " failure. "
+ cause,
e);
Apply / Chat
Suggestion importance[1-10]: 6
__
Why: The suggestion correctly identifies that e.getCause().getMessage() can return null, which would result in a confusing error message. Using e.getCause().toString() is a more robust approach that improves the quality of the error handling introduced in this PR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
🔗 Related Issues
Fixes #16388
💥 What does this PR do?
Every now and then, someone complains because the real reason a remote session creation fails is hidden in the stack trace. This identifies the cause, if it exists, and displays it at the top level.
PR Type
Bug fix
Description
Improved error messaging for remote session creation failures
Extracts and displays the underlying cause message at the top level
Prevents real error reasons from being hidden in stack traces
Diagram Walkthrough
File Walkthrough
RemoteWebDriver.java
Enhanced remote session error message extractionjava/src/org/openqa/selenium/remote/RemoteWebDriver.java
execute()method for NEW_SESSION commandvisibility