panic_package.go 694 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // panic_package.go
  2. package main
  3. import (
  4. "./parse/parse"
  5. "fmt"
  6. )
  7. func main() {
  8. var examples = []string{
  9. "1 2 3 4 5",
  10. "100 50 25 12.5 6.25",
  11. "2 + 2 = 4",
  12. "1st class",
  13. "",
  14. }
  15. for _, ex := range examples {
  16. fmt.Printf("Parsing %q:\n ", ex)
  17. nums, err := parse.Parse(ex)
  18. if err != nil {
  19. fmt.Println(err) // here String() method from ParseError is used
  20. continue
  21. }
  22. fmt.Println(nums)
  23. }
  24. }
  25. /* Output:
  26. Parsing "1 2 3 4 5":
  27. [1 2 3 4 5]
  28. Parsing "100 50 25 12.5 6.25":
  29. pkg parse: error parsing "12.5" as int
  30. Parsing "2 + 2 = 4":
  31. pkg parse: error parsing "+" as int
  32. Parsing "1st class":
  33. pkg parse: error parsing "1st" as int
  34. Parsing "":
  35. pkg: no words to parse
  36. */