а почему не все вместе обернуть в трай кетч? вообще то по моему так и лучше — трайкетч это не ошибка логики это уже исключение, а проверять что там прав нет или что еще именно в логике, это задача обычного кода и там просто вызивать в любом месте генерацию события.