Excepciones de nivel superior
qiskit.exceptions
Excepciones
Todas las excepciones relacionadas con Qiskit planteadas por Qiskit son subclases de la base:
QiskitError
exception qiskit.exceptions.QiskitError(*message)
Bases: Exception
Clase base para los errores generados por Qiskit.
Establece el mensaje de error.
Los errores que son sólo errores generales de programación, como la tipificación incorrecta, todavía pueden plantear errores estándar Python como TypeError. QiskitError es generalmente para los errores planteados en el uso que es particular a Qiskit.
Muchos de los subpaquetes de Qiskit definen su propio error más granular, para ayudar a capturar sólo el subconjunto de errores que te importan. Por ejemplo, qiskit.circuit utiliza casi exclusivamente CircuitErrormientras que QASM2ExportError y QASM2ParseError derivan de QASM2Error en qiskit.qasm2que a su vez es un tipo de QiskitError.
Qiskit tiene varias características opcionales que dependen de otros paquetes que no son necesarios para una instalación mínima. Puede obtener más información sobre ellas y sobre cómo comprobar su presencia en qiskit.utils.optionals. Si se intenta utilizar una función que requiere un extra opcional, se producirá un error particular, que subclase tanto QiskitError y el incorporado en Python ImportError.
MissingOptionalLibraryError
exception qiskit.exceptions.MissingOptionalLibraryError(libname, name, pip_install=None, msg=None)
Bases: QiskitError, ImportError
Aparece cuando falta una biblioteca opcional.
Establece el mensaje de error. :param libname: Nombre de la librería que falta :param name: Nombre de la clase, función, módulo que usa esta librería :param pip_install: Comando pip install, si lo hay :param msg: Mensaje descriptivo, si lo hay
Parámetros
Tipo de retorno
Ninguna
Otros dos errores poco comunes están relacionados con fallos en la lectura de los archivos de configuración del usuario, o con la especificación de un nombre de archivo que no se puede utilizar:
QiskitUserConfigError
exception qiskit.exceptions.QiskitUserConfigError(*message)
Bases: QiskitError
Aparece cuando se produce un error al leer un archivo de configuración de usuario.
Establece el mensaje de error.
InvalidFileError
exception qiskit.exceptions.InvalidFileError(*message)
Bases: QiskitError
Aparece cuando el archivo proporcionado no es válido para la tarea específica.
Establece el mensaje de error.
Avisos
Algunas características particulares de Qiskit pueden generar advertencias personalizadas. En general, Qiskit utilizará las advertencias incorporadas en Python (como DeprecationWarning) cuando sea apropiado, pero las advertencias relacionadas con funcionalidades específicas de Qiskit serán subtipos de QiskitWarning.
QiskitWarning
exception qiskit.exceptions.QiskitWarning
Bases: UserWarning
Subclase común de advertencias para las advertencias específicas de Qiskit que se plantean.
En relación con MissingOptionalLibraryErroren algunos casos puede encontrarse una dependencia opcional, pero no importarse por alguna otra razón. En este caso, Qiskit continuará como si la dependencia no estuviera presente, pero levantará OptionalDependencyImportWarning para informarte de ello.
OptionalDependencyImportWarning
exception qiskit.exceptions.OptionalDependencyImportWarning
Bases: QiskitWarning
Aparece cuando una biblioteca opcional genera errores durante su importación.
Cuando se utilicen funciones experimentales, Qiskit levantará ExperimentalWarning.
Las características experimentales de Qiskit pueden romperse en cualquier versión menor y su API puede cambiar sin notificación previa. No se recomienda su uso en la producción.
ExperimentalWarning
exception qiskit.exceptions.ExperimentalWarning
Bases: QiskitWarning
Aparece cuando se utiliza una función experimental.
Filtrar advertencias
Python cuenta con mecanismos integrados para filtrar las advertencias, tal y como se describe en la documentación del warnings módulo. Puedes utilizar estas subclases en tus filtros de advertencias desde Python para silenciar las advertencias que no te interesen. Por ejemplo, si estás utilizando funciones experimentales a sabiendas y no te preocupa que puedan dejar de funcionar en versiones posteriores, puedes desactivar el aviso ExperimentalWarning de esta manera:
import warnings
from qiskit.exceptions import ExperimentalWarning
warnings.filterwarnings("ignore", category=ExperimentalWarning)