===== before
rectangle: (x=0, y=0, w=3, h=3)
generateFilterRect: (x=0, y=0, w=3, h=3)
getColorBoundsRect: (x=0, y=0, w=3, h=3)
===== noisy function
Rectangle:
  a=0
  b=0
  c=3
  d=3
  e=undefined
rectangle: [object Object]
Rectangle:
  a=0
  b=0
  c=3
  d=3
  e=undefined
generateFilterRect: [object Object]
Rectangle:
  a=0
  b=0
  c=3
  d=3
  e=undefined
getColorBoundsRect: [object Object]
===== throwing function
Caught: test
Caught: test
Caught: test
===== not an object
rectangle: -1
generateFilterRect: -1
getColorBoundsRect: -1
