-
Notifications
You must be signed in to change notification settings - Fork 46.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Error: null" in the captured error warning due to cross-origin issues #10321
Comments
I'm not a huge fan of the magical behavior of automatically wrapping. Also takes us further away from just being try/catch semantics. If you have the Just build a proper HoC once and be done with it. :) |
Tend to agree with @sebmarkbage about automatic wrapping.
Isn't the more likely scenario that the error would propagate to the next boundary, and eventually to the root? Not sure where the infinite loop comes into play. I do think we should use a custom error for cross-origin errors |
Ah, you're right. The bubbling should happen. Agreed. If we can correctly differentiate between "null because not trusted" and "null because throw null/undefined" then we can pass a custom error in the former case. |
Another similar report, not clear to me yet if it’s caused by the same issue or not. |
I assume serving scripts from file:/// might trigger this? |
Three points from discussion in reduxjs/react-redux#756:
Due to https://bugs.chromium.org/p/chromium/issues/detail?id=701371, environments like CodeSandbox show
Error: null
in our “React caught an error” warning. Let’s consider skipping both as they’re not very useful and look like a bug.Error: null
looks like a separate error and draws attention away from the real error just above.In any case we should probably not print
The error was thrown at:
if we don’t have a JS stack.There is a related issue. What do we pass to error boundary if we caught
null
? It seems that most error boundaries will intuitively do something likeif (this.state.error)
or readerror.message
, whichnull
will break. There are other falsy values too like''
andundefined
. My proposal is we always wrap primitives into our ownError
objects that we pass to the boundary.The text was updated successfully, but these errors were encountered: