Currently when a behavior crashes, it stops everything.
The patch will catch any error happening during attach and detach loop and will throw the list of errors once all behaviors have been processed. Throwing at this point will not stop event handler to be executed, so things are all working as expected, except for the behavior that failed.
This will be make things much easier on contrib.
For testing yo can add
throw "my error"; in any behavior (try adding that to two behaviors to see what happens when you have several error on attach/detach).
Follow up issues
PASSED: [[SimpleTest]]: [PHP 5.5 MySQL] 101,004 pass(es).
PASSED: [[SimpleTest]]: [PHP 5.5 MySQL] 98,801 pass(es).
PASSED: [[SimpleTest]]: [PHP 5.5 MySQL] 98,563 pass(es).
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 89,574 pass(es).