func PanicsGet(f func()) (didPanic bool, pVal interface{}) {
	defer func() {
		pVal = recover()
		didPanic = pVal != nil
	}()
	f()
	return false, nil // overridden by the deferred function; here for the compiler
}
// PanicsGet tests if the given function panics, and returns a boolean that is true if it does.  If the function does
// panic, the panic value itself is also returned.  (Specifically, this is the return value from recover(), which is
// nil if the function did not panic.)
//
// Note that PanicsStr(), PanicsRE(), and PanicsVal() provide ways to test the panic value that are generally more
// convenient than this function.
PanicsGet tests if the given function panics, and returns a boolean that is true if it does.  If the function does
panic, the panic value itself is also returned.  (Specifically, this is the return value from recover(), which is
nil if the function did not panic.)

Note that PanicsStr(), PanicsRE(), and PanicsVal() provide ways to test the panic value that are generally more
convenient than this function.
// PanicsGet tests if the given function panics and returns a boolean that is true if it does . If the function does // panic the panic value itself is also returned . ( Specifically this is the return value from recover () which is // nil if the function did not panic . ) // // Note that PanicsStr () PanicsRE () and PanicsVal () provide ways to test the panic value that are generally more // convenient than this function .
func PanicsGet(f func()) (didPanic bool, pVal interface{}) {
	defer func() {
		pVal = recover()
		didPanic = pVal != nil
	}()
	f()
	return false, nil 
}
func PanicsGet ( f func ( ) ) ( didPanic bool , pVal interface { } ) { defer func ( ) { pVal = recover ( ) didPanic = pVal != nil } ( ) f ( ) return false , nil }
PanicsGet tests if the given function panics, and returns a boolean that is true if it does.
PanicsGet tests if the given function panics and returns a boolean that is true if it does .
// overridden by the deferred function; here for the compiler