"""You will find here the custom exceptions we created in order to provide
clearer errors. When relevant, we also append the trace of the error raised by a
provider's SDK."""
[docs]class InstructionParsingError(ValueError):
"""Raised when an QASM instruction encountered by the parser is malformed."""
[docs]class NumberQubitsError(ValueError):
"""Raised when the number of qubits defining an instruction, a gate, or a
measurement, is not coherent with the related objects (circuit, matrix,
observable, etc...)."""
[docs]class ResultAttributeError(AttributeError):
"""Raised when one tries to access the attribute of the result that is
incoherent with the associated job."""
[docs]class DeviceJobIncompatibleError(ValueError):
"""Raised when one tries to run a job with a JobType that is not suitable
for the selected device (for example SAMPLE job on a statevector simulator)."""
[docs]class RemoteExecutionError(ConnectionError):
"""Raised when an error occurred during a remote connection, submission or
execution."""
[docs]class IBMRemoteExecutionError(RemoteExecutionError):
"""Raised when an error occurred during the remote execution process of
job(s) on an IBM device."""
[docs]class QLMRemoteExecutionError(RemoteExecutionError):
"""Raised when an error occurred during the remote execution process of
job(s) on the remote QLM."""
[docs]class AWSBraketRemoteExecutionError(RemoteExecutionError):
"""Raised when an error occurred during the remote execution process of
job(s) on the remote Amazon Braket."""
[docs]class UnsupportedBraketFeaturesWarning(UserWarning):
"""Warning for potential compatibility issues with Braket."""
[docs]class OpenQASMTranslationWarning(UserWarning):
"""Warning for potential translation error when exporting to OpenQASM."""
[docs]class AdditionalGateNoiseWarning(UserWarning):
"""Warning for additional noise on native gate used in the decomposition of noisy gate."""