-
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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 thrown by INestApplicationContext.select() not caught #13033
Comments
This is due to the nest/packages/core/nest-factory.ts Line 268 in 180bdf6
There is an option you can pass to create to not abort on error, would that be a solution to your issue ?
i.e.: const app = await NestFactory.create(AppModule, { abortOnError: false });
try {
app.select(NotLoadedModule);
} catch (e) {
console.log('Module not loaded');
} |
Okay that's why. I didn't know about To be clear, this problem is not blocking for me (I found some workarounds) but I thought there might be an issue with the In my opinion it would be nice to have this behavior, but I let you see if you want to change it or not. Thanks for your answer ! |
so we have two things here:
I'm not sure if [2] is a bug, tho. @RocheVal what do you think about introducing a new options arg to |
Sorry for the late reply. @micalevisk introducing this new options seems a good idea to me. |
@RocheVal please open a feature request issue for that |
Done #13735 |
Is there an existing issue for this?
Current behavior
When using
INestApplicationContext.select
to select a module that is NOT loaded in the app an error is thrown (Nest could not select the given module (it does not exist in current context)
).But this error is not caught by try/catch, preventing us to handle the error manually, resulting in crashing the app.
You can see in the stackblitz provided that the
console.log
located in the main.ts is not triggered when a module is not found.I have discussed this on discord, and we concluded it might be a bug.
Minimum reproduction code
https://stackblitz.com/edit/nestjs-starter-rgdzro?file=src%2Fmain.ts
Steps to reproduce
In your main.ts:
Or just run the stackblitz provided.
Expected behavior
I expect the error thrown by the select to be caught by the try/catch.
Package
@nestjs/common
@nestjs/core
@nestjs/microservices
@nestjs/platform-express
@nestjs/platform-fastify
@nestjs/platform-socket.io
@nestjs/platform-ws
@nestjs/testing
@nestjs/websockets
Other package
No response
NestJS version
10.2.10
Packages versions
@nestjs/10.2.10
Node.js version
18.16.0
In which operating systems have you tested?
Other
No response
The text was updated successfully, but these errors were encountered: