C++ Logo

std-proposals

Advanced search

Re: [std-proposals] Try-catch declaration

From: Lénárd Szolnoki <cpp_at_[hidden]>
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.
> >

Received on 2023-11-22 12:07:43