On 07/11/2015 05:03 PM, Enrico Bianchi wrote:
Panic da quello che ho visto manda in traceback l'applicativo, ovvero e` l'equivalente di un raise in Python o di un throw in Java. Quello che vorrei fare io e` il catch
Cercando mentre stavo scrivendo questa email mi sono imbattuto in proprio in quello che cercavo, ovvero nel builtin recover(), che non fa altro che fare il catch di panic(). In altre parole, l'esempio da me riportato, potrebbe diventare qualcosa del genere:

package main

import (
  "fmt"
)

func Sum(a int, b *int) int {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Panic error:", r)
        }
    }()

    return a + *b;
}

func main() {
    var first int
    var second *int

    first = 1
    second = nil
    fmt.Println(Sum(first, second))
}

Che non e` proprio quello che intendevo, ma ci si avvicina molto...

Enrico
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a