Есть ли способ иметь несколько последовательных предложений Try-Except, которые запускают один Else, только если все они успешны?Несколько Try-Excepts, за которыми следует Else в python
В качестве примера:
try:
private.anodization_voltage_meter = Voltmeter(voltage_meter_address.value) #assign voltmeter location
except(visa.VisaIOError): #channel time out
private.logger.warning('Volt Meter is not on or not on this channel')
try:
private.anodization_current_meter = Voltmeter(current_meter_address.value) #assign voltmeter as current meter location
except(visa.VisaIOError): #channel time out
private.logger.warning('Ammeter is not on or not on this channel')
try:
private.sample_thermometer = Voltmeter(sample_thermometer_address.value)#assign voltmeter as thermomter location for sample.
except(visa.VisaIOError): #channel time out
private.logger.warning('Sample Thermometer is not on or not on this channel')
try:
private.heater_thermometer = Voltmeter(heater_thermometer_address.value)#assign voltmeter as thermomter location for heater.
except(visa.VisaIOError): #channel time out
private.logger.warning('Heater Thermometer is not on or not on this channel')
else:
private.logger.info('Meters initialized')
Как вы можете видеть, вы только хотите напечатать meters initialized
если все они ушли, однако в настоящее время написано, это зависит только от термометра нагревателя. есть ли способ их уложить?
Если вы пишете много блоков исключений, вы, вероятно, используете исключения. Исключения не являются условными. –
Судя по сообщениям об ошибках, они выглядят как допустимые исключения для меня. – Steve314
Исключения не достаточно гранулированы. Вольтметр только генерирует общий «VISAIOError» независимо от проблем, с которыми он сталкивается. Этот вопрос/проблема не возникнет, если вместо этого Вольтметр бросил конкретное исключение для каждой проблемы. –