在V3 Datastax驱动程序中,Session.execute方法清楚地声明了抛出的异常,我的代码将捕获并适当处理:
但是在V4中,CqlSession。execute方法不声明它抛出任何异常。但是,如果我给予它一个错误的查询,它会抛出一个异常。
在不知道所有可能抛出的异常的情况下,我应该如何使用这个新的API进行异常处理?
c8ib6hqw1#
Cassandra Java驱动程序在版本4中被完全重构。0,并且与版本3不兼容。x(或更早的版本),因此早期版本中的API文档与v4无法比较。话虽如此,the API doc for com.datastax.oss.driver.api.core.servererrors列出了驱动程序根据集群响应抛出的所有可能的异常:
com.datastax.oss.driver.api.core.servererrors
com.datastax.oss.driver.api.core.servererrors.CoordinatorException com.datastax.oss.driver.api.core.servererrors.ProtocolError com.datastax.oss.driver.api.core.servererrors.QueryExecutionException com.datastax.oss.driver.api.core.servererrors.BootstrappingException com.datastax.oss.driver.api.core.servererrors.CDCWriteFailureException com.datastax.oss.driver.api.core.servererrors.FunctionFailureException com.datastax.oss.driver.api.core.servererrors.OverloadedException com.datastax.oss.driver.api.core.servererrors.QueryConsistencyException com.datastax.oss.driver.api.core.servererrors.CASWriteUnknownException com.datastax.oss.driver.api.core.servererrors.ReadFailureException com.datastax.oss.driver.api.core.servererrors.ReadTimeoutException com.datastax.oss.driver.api.core.servererrors.WriteFailureException com.datastax.oss.driver.api.core.servererrors.WriteTimeoutException com.datastax.oss.driver.api.core.servererrors.TruncateException com.datastax.oss.driver.api.core.servererrors.UnavailableException com.datastax.oss.driver.api.core.servererrors.QueryValidationException com.datastax.oss.driver.api.core.servererrors.AlreadyExistsException com.datastax.oss.driver.api.core.servererrors.InvalidConfigurationInQueryException com.datastax.oss.driver.api.core.servererrors.InvalidQueryException com.datastax.oss.driver.api.core.servererrors.SyntaxError com.datastax.oss.driver.api.core.servererrors.UnauthorizedException com.datastax.oss.driver.api.core.servererrors.ServerError
API doc for com.datastax.oss.driver.api.core有一个可以抛出的客户端异常列表:
com.datastax.oss.driver.api.core
com.datastax.oss.driver.api.core.AllNodesFailedException com.datastax.oss.driver.api.core.NoNodeAvailableException com.datastax.oss.driver.api.core.DriverExecutionException com.datastax.oss.driver.api.core.DriverTimeoutException com.datastax.oss.driver.api.core.InvalidKeyspaceException com.datastax.oss.driver.api.core.NodeUnavailableException com.datastax.oss.driver.api.core.RequestThrottlingException com.datastax.oss.driver.api.core.UnsupportedProtocolVersionException
无论如何,Java driver doc Retries page是一个很好的资源,可以用来理解何时抛出异常以及为什么抛出异常。干杯!
1条答案
按热度按时间c8ib6hqw1#
Cassandra Java驱动程序在版本4中被完全重构。0,并且与版本3不兼容。x(或更早的版本),因此早期版本中的API文档与v4无法比较。
话虽如此,the API doc for
com.datastax.oss.driver.api.core.servererrors
列出了驱动程序根据集群响应抛出的所有可能的异常:API doc for
com.datastax.oss.driver.api.core
有一个可以抛出的客户端异常列表:无论如何,Java driver doc Retries page是一个很好的资源,可以用来理解何时抛出异常以及为什么抛出异常。干杯!