public function __toString() { return "Foo"; } } class Bar { } try { E2::assert(new Foo()); } catch (\UnexpectedValueException $e) { echo $e->getMessage() . "\n"; } try { E2::assert(new Bar()); } catch (\UnexpectedValueException $e) { echo $e->getMessage() . "\n"; } class Baz { public function __toString() { return 'green'; } } try { E2::assert(new Baz()); } catch (\UnexpectedValueException $e) { echo $e->getMessage() . "\n"; } }