2015-05-05 50 views
3

我的Cassandra客户端的session.execute()部分不会在eclipse中提示任何错误处理提示。Cassandra错误处理

session.execute(batch); 

我应该手动尝试捕捉。

try 
{ 
session.execute(batch); 
} 
catch(Exception e) 
{ 
// Handle error here 
} 

如果是的话,我应该处理分开执行查询相关each error

+0

相关异常记录在javadoc api中:http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/Session.html#execute%28com.datastax.driver .core.Statement%29 –

+0

为什么Eclipse中没有throws提示符?如果我处理从execute方法抛出的异常1)NoHostAvailableException 2) QueryExecutionException 3) QueryValidationException 4)UnsupportedFeatureException如果发生其他异常(如InvalidType异常),会发生什么情况? – Jobs

回答

4

NoHostAvailableExceptionQueryExecutionExceptionQueryValidationException,和UnsupportedFeatureException所有延伸DriverException其是RuntimeException其是未经检查的异常。从javadoc为RuntimeException

RuntimeException及其子类是未经检查的异常。未经检查的异常不需要在方法或构造函数的throws子句中声明,如果它们可以通过执行方法或构造函数来抛出并传播到方法或构造函数边界之外。

这就是为什么在你的方法签名中没有使用try catch或throws声明处理session.execute时,eclipse不会给你一个编译器错误。