Date: Wed, 22 Nov 2023 12:07:39 +0000
On Wed, 2023-11-22 at 13:56 +0200, sasho648 via Std-Proposals wrote:
> Because I only care about the exception thrown at `func()` and don't
> want to have exception handling for the rest of the code.
int f() {
const auto ptr = [&]() -> decltype(&func()) {
try {
return &func();
} catch (...) {
return nullptr;
}
}();
// use ptr here, check for null, dereference, whatever
}
>
> On Wed, Nov 22, 2023 at 1:54 PM Fabio Alemagna <falemagn_at_[hidden]>
> wrote:
> >
> >
> > Il mer 22 nov 2023, 12:50 sasho648 via Std-Proposals
> > <std-proposals_at_[hidden]> ha scritto:
> > > Ok use-case I was thinking is actually:
> > >
> > > int f() {
> > >
> > > try (auto &ref = func()) {
> > > } catch(...) {
> > > return -1;
> > > }
> > >
> > > // use ref here
> > > }
> >
> > Why would you want to use ref after the whole try-catch block?
> >
> > If func() does't throw, you can use ref right after its call,
> > within the try block itself.
> >
> Because I only care about the exception thrown at `func()` and don't
> want to have exception handling for the rest of the code.
int f() {
const auto ptr = [&]() -> decltype(&func()) {
try {
return &func();
} catch (...) {
return nullptr;
}
}();
// use ptr here, check for null, dereference, whatever
}
>
> On Wed, Nov 22, 2023 at 1:54 PM Fabio Alemagna <falemagn_at_[hidden]>
> wrote:
> >
> >
> > Il mer 22 nov 2023, 12:50 sasho648 via Std-Proposals
> > <std-proposals_at_[hidden]> ha scritto:
> > > Ok use-case I was thinking is actually:
> > >
> > > int f() {
> > >
> > > try (auto &ref = func()) {
> > > } catch(...) {
> > > return -1;
> > > }
> > >
> > > // use ref here
> > > }
> >
> > Why would you want to use ref after the whole try-catch block?
> >
> > If func() does't throw, you can use ref right after its call,
> > within the try block itself.
> >
Received on 2023-11-22 12:07:43