cassandra 我如何知道使用新的v4 API可以抛出的异常?

yrdbyhpb  于 2023-04-30  发布在  Cassandra
关注(0)|答案(1)|浏览(219)

在V3 Datastax驱动程序中,Session.execute方法清楚地声明了抛出的异常,我的代码将捕获并适当处理:

但是在V4中,CqlSession。execute方法不声明它抛出任何异常。但是,如果我给予它一个错误的查询,它会抛出一个异常。

在不知道所有可能抛出的异常的情况下,我应该如何使用这个新的API进行异常处理?

c8ib6hqw

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.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.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是一个很好的资源,可以用来理解何时抛出异常以及为什么抛出异常。干杯!

相关问题