gpt4 book ai didi

java.lang.NumberFormatException 试图在 Cassandra 表中获取一行时

转载 作者:搜寻专家 更新时间:2023-11-01 03:17:53 25 4
gpt4 key购买 nike

我使用 Datastax 驱动程序在 Cassandra 表中获取一行:

 MappingManager manager = new MappingManager(session);
Mapper<CassandraEntity> mapper = manager.mapper(CassandraEntity.class);
UUID id = UUID.fromString(uuid);
CassandraEntity cassandraEntity = mapper.get(id);

当表中存在 uuid 时,一切正常。但是当 uuid 不存在时我有这个错误:

ERROR [2017-01-27 14:27:24,030] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: 48a3bf442525acf8
! java.lang.NumberFormatException: For input string: "68c34e83db3o"
! at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.7.0_75]
! at java.lang.Long.parseLong(Long.java:441) ~[na:1.7.0_75]
! at java.lang.Long.valueOf(Long.java:513) ~[na:1.7.0_75]
! at java.lang.Long.decode(Long.java:665) ~[na:1.7.0_75]
! at java.util.UUID.fromString(UUID.java:206) ~[na:1.7.0_75]

我怎样才能很好地处理这个错误?

最佳答案

68c34e83db3o 不是有效的 UUID 所以 UUID.fromString正在抛出此异常,javadocs 状态:

Throws:

IllegalArgumentException - If name does not conform to the string ? representation as described in toString()

NumberFormatExceptionIllegalArgumentExcepiton 的实例.

在将 uuid 传递给 fromString 之前,您如何形成它?在调用 fromString 之前,您可能需要进行一些格式化/清理。 68c34e83db3o 几乎看起来像一个十六进制字符串(除了最后一个 o)。

关于java.lang.NumberFormatException 试图在 Cassandra 表中获取一行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com