Python не работает защищённый блок
Если в блоке except
убрать break
нужное сообщение печатается, но бесконечное число раз, в итоге программа зависает и на этом всё. Добавляя break
, я ожидала, что после возникновения исключения программа выведет один раз 'Устройство ещё не подключено' и выйдет из цикла, однако она просто не видит блок except
и редактор кода пишет, что он не достижим. Вот код, помогите исправить
def toggle_recording_state(self,instance):
while True:
try:
if self.btn_record.text == 'Запись':
self.btn_record.text = 'Стоп'
sampling_frequency = 1024
self.file_path = None
self.edf_writer = pyedflib.EdfWriter('temp.edf',self.channels,file_type=pyedflib.FILETYPE_EDFPLUS)
Clock.schedule_interval(self.save_data, 1 / sampling_frequency)
else:
# Остановить запись данных
self.edf_writer.close()
self.file_chooser.path = "~/"
self.file_chooser.filters = [lambda folder, filename: filename.endswith('.edf')]
self.file_chooser.popup()
self.btn_record.text = "Запись"
Clock.unschedule(self.save_data)
except:
print('Устройство ещё не подключено')
break
Источник: Stack Overflow на русском