On Fri, Aug 8, 2025, at 08:50, Rob Landers wrote: > On Fri, Aug 8, 2025, at 07:57, Mihail Liahimov wrote: >> Yeah, it seems to be problematic to use this syntax with finally blocks. >> Perhaps the optional catch block should be allowed only at the very end, but >> it sounds somehow doubtful. >> >> ср, 6 авг. 2025 г. в 16:52, Andreas Heigl <andr...@heigl.org>: >>> Hey Mihail >>> >>> Am 06.08.25 um 13:34 schrieb Mihail Liahimov: >>> > Hi! >>> > >>> > At the moment, I can suggest this syntax: >>> > >>> > try { >>> > // do something >>> > } catch (SomeIgnorableException) finally { >>> > // do something >>> > } >>> > >>> I find that ... challenging >>> >>> When reading the code I now have to go to the end of the line to >>> understand that the second >>> >>> // do something >>> >>> does not belong to the `try` but to the `finally`... >>> >>> >>> And >>> >>> try { >>> // break stuff >>> } catch (SomeIgnorableException) >>> finally { >>> // do something regardless >>> } >>> >>> seems boken due to the missing } >>> >>> But well.... >>> >>> We just have to adapt to something like this: >>> >>> try { >>> // break stuff >>> } >>> catch (SomeIgnorableException) >>> catch (Some OtherIgnorableException) >>> finally { >>> // do something regardless >>> } >>> >>> -- >>> ,,, >>> (o o) >>> +---------------------------------------------------------ooO-(_)-Ooo-+ >>> | Andreas Heigl | >>> | mailto:andr...@heigl.org N 50°22'59.5" E 08°23'58" | >>> | https://andreas.heigl.org | >>> +---------------------------------------------------------------------+ >>> | https://hei.gl/appointmentwithandreas | >>> +---------------------------------------------------------------------+ >>> | GPG-Key: https://hei.gl/keyandreasheiglorg | >>> +---------------------------------------------------------------------+ > > What about instead of at the end, we do it at the beginning? > > try ignore (SomeIgnorableException, OtherException) { > // break stuff > } catch(UnexpectedException) { > // fix stuff > } finally { > // do this anyway > } > > Since ignore only can follow a try and any symbol other than a "{" is > currently an error, I don't think we don't need to reserve "ignore" as a > keyword. > > It appears to be relatively easy to scan/read as well. > > — Rob
Sorry, it should have read: "I don't think we need to reserve "ignore" as a keyword". — Rob