StartScheduler checks if Task Scheduler Service is working and in case not starts this service. This function "silently" checks if service is working. Open calls StartScheduler and initializes Scheduler interface. In case of any error it raizes excpetion.
So to code in "good" way it would be useful to call StartScheduler firstly before calling Open and in case StartScheduler returns False then to show warning message to user that under his account it is impossible to use/start Scheduler service.