Hasan,
Если исключение выпадает из кода, оно действительно покажет статус ошибки. Если вы хотите явно «провалить» свой запуск с экземпляром задания таймера, вы можете и должны выбросить исключение. Это можно сделать в сочетании с установкой значения флага SPJobDefinition.Retry
на TRUE , если вы чувствуете, что повторный прогон обойдет ваше «проблемное состояние».
Точно так же, если вы перехватываете исключения для целей регистрации (например, для записи дополнительных подробностей в журналы ULS - никогда не плохая идея), отбросьте любые перехваченные исключения, если вы действительно не компенсировали их. Вы хотите избегать употребления исключений, просто чтобы исключить возникновение исключений по указанным причинам (состояние исключения связано с отчетом об успешном выполнении работы / неудаче).
Надеюсь, это поможет!