En mi artículo anterior, vimos los errores lanzados por clientes libCouchbase como ruby, python, C y C++. Este blog se centrará en la librería cliente Java para Couchbase.
En la biblioteca del cliente java, hay excepciones, no errores. Dependiendo del tipo de retorno y del estado de la aplicación, diferentes excepciones pueden ser lanzadas por el cliente java. Generalmente, encontrarás esas excepciones anotadas ya sea a través de las anotaciones @throws o tu IDE te dirá que necesitas atraparlas.
A continuación se indican algunas excepciones que puede encontrar al utilizar la biblioteca Java:
Todas las operaciones asíncronas devuelven futuros, no lanzan una excepción hasta que bloqueas el resultado. Además de atrapar la excepción, también puedes inspeccionar el estado del futuro y utilizar la función getMessage() API para obtener el texto real del mensaje.
Para las API síncronas, la biblioteca cliente se implementa como una envoltura alrededor de los métodos asíncronos. Aquí están las excepciones más comunes lanzadas por las APIs java sincrónicas :
1. TimeoutException - Esto significa que la espera en el futuro tardó más de lo esperado. Por ejemplo, esta excepción se lanza si se utiliza get() con un valor de tiempo de espera por defecto y éste expira. También se lanza si se utiliza get() con un tiempo de espera personalizado y el tiempo de espera expira.
2. CancellationException - Esto significa que la operación se canceló mientras estaba "en vuelo". Por ejemplo, una solicitud enviada a través de una red sin respuesta. Esto puede ocurrir especialmente cuando falla un nodo. Se cancelan todas las operaciones que están en curso.
3. InterruptedException- Esto significa que hubo una interrupción mientras se bloqueaba en el futuro.
Si está utilizando vistas en su aplicación con Java, es posible que vea las siguientes excepciones :
1. InvalidViewException - Esto significa que se ha especificado un nombre de vista o un documento de diseño no válido. Esta excepción también se lanza si una vista está en fase de desarrollo y no se despliega a producción o la vista está en producción y la app hace referencia a la vista de desarrollo.
Para gestionar esta excepción, intente utilizar el parámetro viewname correcto al llamar a la vista y asegúrese de que esta vista se despliega en producción.
Si estás usando las APIs para verificar que tus datos son persistidos por Couchbase, hay algunas excepciones más que deberías tener en cuenta:
1. ObservedException - Esto significa que algo general salió mal con la llamada a la API y se pueden encontrar más detalles en el mensaje de estado.
2. ObservedTimeoutException - Esto significa que la llamada a la API ha caducado y debe volver a intentarlo.
3. ObservedModifiedException - Esto significa que la llamada a la API ha fallado porque el documento se ha modificado mientras tanto. Esto indica una condición de carrera.
Por último, durante el arranque de su aplicación con la API Java puede encontrarse con las siguientes excepciones:
1. ConfigParsingException - Esto significa que la configuración actual no puede ser analizada. Debe comprobar que el archivo de configuración es correcto e intentarlo de nuevo.
También puede ver otras excepciones de red si el host no es alcanzable.
Buena suerte construyendo tus aplicaciones usando el cliente Java de Couchbase. Si tienes alguna pregunta, por favor no dudes en preguntarnos en el foros.