code: def errors(self):
          
          try:
              self.now = datetime.datetime.now()
              if len(self.alarm_day) < 2 or len(self.alarm_day) > 2:
                  print("error: day: usage 'DD' such us '0%s' not '%s'" % (
                      self.alarm_day, self.alarm_day))
                  self.RUN_ALARM = False
              if int(self.alarm_day) > calendar.monthrange(
                      self.now.year, self.now.month)[1] or int(
                          self.alarm_day) < 1:
                  print("error: day: out of range")
                  self.RUN_ALARM = False
              # compare alarm time with alarm pattern
              if (len(self.alarm_time) != len(self.alarm_pattern) or
                      len(self.alarm_time[0]) < 2 or
                      len(self.alarm_time[0]) > 2 or
                      len(self.alarm_time[1]) < 2 or len(self.alarm_time[1]) > 2):
                  print("error: time: usage '%s'" % ":".join(self.alarm_pattern))
                  self.RUN_ALARM = False
              # compare if alarm hour or alarm minutes
              # is within the range
              if int(self.alarm_hour) not in range(0, 24):
                  print("error: hour: out of range")
                  self.RUN_ALARM = False
              if int(self.alarm_minutes) not in range(0, 60):
                  print("error: minutes: out of range")
                  self.RUN_ALARM = False
          except ValueError:
              print("Usage '%s'" % ":".join(self.alarm_pattern))
              self.RUN_ALARM = False
          if not os.path.isfile(self.song):
              print("error: song: file does not exist")
              self.RUN_ALARM = False
docs: Check for usage errors