Repository navigation
Error cause is not displayed #5630
Copy link
Copy link
Closed
pillarjs/finalhandler
#49Labels
Description
package.json:
{
"dependencies": {
"express": "^4.19.2"
}
}
server.js:
const express = require("express");
const app = express();
app.get("/", (req, res) => {
throw new Error("foo", {
cause: new Error("bar"),
});
});
app.listen(3000, () => {
console.log("Server is running on port 3000");
});$ node server.js
Server is running on port 3000$ curl "localhost:3000"Actual
The error cause is not displayed.
Error: foo
at /Users/oliver/Code/reduced-test-cases/express-error-cause/server.js:6:9
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/route.js:149:13)
at Route.dispatch (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/route.js:119:3)
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
at /Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/index.js:284:15
at Function.process_params (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/index.js:346:12)
at next (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/index.js:280:10)
at expressInit (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/middleware/init.js:40:5)
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
Expected
The error cause should be displayed, like it is for exceptions occurring outside of request handlers.
Error: foo
at /Users/oliver/Code/reduced-test-cases/express-error-cause/server.js:6:9
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
... 7 lines matching cause stack trace ...
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5) {
[cause]: Error: bar
at /Users/oliver/Code/reduced-test-cases/express-error-cause/server.js:7:12
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/route.js:149:13)
at Route.dispatch (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/route.js:119:3)
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
at /Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/index.js:284:15
at Function.process_params (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/index.js:346:12)
at next (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/index.js:280:10)
at expressInit (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/middleware/init.js:40:5)
at Layer.handle [as handle_request] (/Users/oliver/Code/reduced-test-cases/express-error-cause/node_modules/express/lib/router/layer.js:95:5)
}
Reacted by francesco
Reacted by Karl Horky
Activity
wesleytodd commentedon Apr 30, 2024
Hey @OliverJAsh, thanks for the report. The specification for error causes is comparatively new to the code which handles this and the error stack is what we use for displaying this. I do agree though that showing error causes for development logging would be an awesome improvement. Feel free to open a PR for this one.
shubham9069 commentedon May 2, 2024
Hii @OliverJAsh thanks for the report. can you able to compile this enhancement?
DanielBelz1997 commentedon May 20, 2024
hey, i want to contribute to this enhancement. there is any way to connect this issue to me?
wesleytodd commentedon May 20, 2024
Hey @DanielBelz1997, we would love a PR for this. The stack trace behavior comes from
finalhandlerhere, that is the best place to start if you would like to work on this.DanielBelz1997 commentedon May 20, 2024
thanks for the quick reply! i will get right into it
DanielBelz1997 commentedon May 22, 2024
fixed the issue. but the code is in the finalHandler package. how should i do a PR on this?
wesleytodd commentedon May 22, 2024
Open a PR to
finalhandlerand mention this issue in the description of the PR.coltonehrman commentedon Aug 10, 2024
I created a small reproduction/test for this 👀
https://github.com/coltonehrman/bag-of-tools/blob/main/examples/express/error-stack-trace/error.test.ts
wesleytodd commentedon Aug 17, 2024
I have a review out on both of these PRs. Whoever gets theirs into a fixed up state I will merge and publish. Closing this to track work on this in the respective PRs.