TraitA::catch TraitA::list TraitB::throw TraitB::self array(1) { ["b"]=> array(1) { [0]=> string(1) "c" } } TraitC::try TraitC::exit TraitC::exit TraitC::exit TraitC::exit Done