Test doesn't really verify that first exception is really fired. I recommend you to use nested try/catch blocks and set flags when something is catched. At the end you need to verity, that:

1. thrown exception count matches the one that should be thrown
2. exception classes matches the order of mocked method calls