You're right, there is none.

IMHO, making recovering from panics easier should be a none-goal. Panics
should be reserved for irrecoverable violations of invariants (i.e. bugs)
and not recovered, in the general case. The main reason panic/recover is
useful today is that it allows to elide some boilerplate, but that won't
matter as much when having check/handle.

YMMV, of course.

(there's also the secondary issue that panic takes an interface{}, not an
error, so it's not entirely clear what it would mean to convert a panic
into an error - but that's relatively minor)

On Thu, Nov 22, 2018 at 12:08 PM Michel Levieux <m.levi...@capitaldata.fr>
wrote:

> Sure it is, I think it's part of the same problem, but (mainly for the
> second example) it's more complementary than it is redundant. I haven't
> seen a possibility for "quick recovering" in go2 draft design concerning
> error handling. If there is one, could anyone point it out?
>
> Le jeu. 22 nov. 2018 à 11:36, Axel Wagner <axel.wagner...@googlemail.com>
> a écrit :
>
>> This seems very similar (almost identical, safe for the choice of words
>> maybe) to the Go 2 error handling draft design
>> <https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling-overview.md>
>> .
>>
>> On Thu, Nov 22, 2018 at 11:32 AM Michel Levieux <m.levi...@capitaldata.fr>
>> wrote:
>>
>>> I do like the idea, but the form looks strange IMO. I'd rather make the
>>> "Must" convention a new keyword for the first example, and another one for
>>> the second (though I don't see a clear keyword for that).
>>>
>>> For a panic on error you'd write :
>>>
>>> data := must error_func()
>>>
>>> Maybe the "try" keyword would be a good choice for the second example
>>> since it's been clearly stated that try ... catch blocks won't be
>>> implemented in go, which would give something like :
>>>
>>> data, err := try panic_func()
>>>
>>> But somehow it sounds quite redundant with the possibility to recover
>>> from panics? Don't know
>>>
>>> Le jeu. 22 nov. 2018 à 11:16, 'yinbingjun' via golang-nuts <
>>> golang-nuts@googlegroups.com> a écrit :
>>>
>>>> For an error function:
>>>>
>>>> data, err := error_func(…..)
>>>>
>>>> can be changed to panic style:
>>>>
>>>> data := panic error_func(……)
>>>>
>>>>
>>>>
>>>> And for a panic function:
>>>>
>>>> data := panic_func(……)
>>>>
>>>> can be changed to error style:
>>>>
>>>> data, err := error panic_func(…...)
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "golang-nuts" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to golang-nuts+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to golang-nuts+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to