/trunk/Examples/test-suite/go/threads_exception_runme.go
# · Go · 66 lines · 59 code · 7 blank · 0 comment · 16 complexity · 4b4f5a17360b4d65cb18f3813971eb24 MD5 · raw file
- package main
- import "strings"
- import "./threads_exception"
- func main() {
- t := threads_exception.NewTest()
- error := true
- func() {
- defer func() {
- error = recover() == nil
- }()
- t.Unknown()
- }()
- if error {
- panic(0)
- }
- error = true
- func() {
- defer func() {
- error = strings.Index(recover().(string), "int exception") == -1
- }()
- t.Simple()
- }()
- if error {
- panic(0)
- }
- error = true
- func() {
- defer func() {
- error = recover().(string) != "I died."
- }()
- t.Message()
- }()
- if error {
- panic(0)
- }
- error = true
- func() {
- defer func() {
- e := recover().(string)
- error = strings.Index(e, "Exc exception") == -1
- }()
- t.Hosed()
- }()
- if error {
- panic(0)
- }
- for i := 1; i < 4; i++ {
- error = true
- func() {
- defer func() {
- error = recover() == nil
- }()
- t.Multi(i)
- }()
- if error {
- panic(0)
- }
- }
- }