I think you have to return a rejected promise from the first rejection handler in order to pass to the second one.
http://jsbin.com/epuxod/12/edit
I guess if you do nothing, then RSVP assume this is resolved, so it goes the resolve handler.
Question
Am I doing something wrong? According to the documentation RSVP.all is supposed to return a promise. And all promises support chainable 'then's. In this example: http://jsbin.com/epuxod/3/edit the first 'then' calls the failed callback properly, but the second 'then' calls the passed callback. I would expect the 2nd 'then' to call the failed callback.
La solution
I think you have to return a rejected promise from the first rejection handler in order to pass to the second one.
http://jsbin.com/epuxod/12/edit
I guess if you do nothing, then RSVP assume this is resolved, so it goes the resolve handler.