At some point we should go through and assess the quality of the error messages we get (a good idea would be to use the already written unit-tests to generate errors).
A common example is being unable to target a pulse from a pulse sequence, but without digging deeper you don't know what condition failed to be met. Often this is because the pulse is too short for the instrument, or the pulse amplitude exceeds the instrument range.
assert targeted_pulse is not None, f"Interface {interface} could not target pulse {pulse} using connection {connection}."
At some point we should go through and assess the quality of the error messages we get (a good idea would be to use the already written unit-tests to generate errors).
A common example is being unable to target a pulse from a pulse sequence, but without digging deeper you don't know what condition failed to be met. Often this is because the pulse is too short for the instrument, or the pulse amplitude exceeds the instrument range.