public class HealthException
The failure delivered through an AsyncResource when a health
operation does not succeed. Branch on getError() rather than on the
message.
store.write(sample).onResult((res, err) -> {
if (err instanceof HealthException) {
HealthError e = ((HealthException) err).getError();
if (e == HealthError.UNAUTHORIZED) {
Health.getInstance().openHealthSettings();
}
}
});
Constructors
public HealthException(HealthError error, String message) | Creates an exception carrying a typed reason. |
public HealthException(HealthError error, String message, Throwable cause) | Creates an exception carrying a typed reason and an underlying cause. |
Methods
public HealthWriteResult getPartialResult() | Samples already committed before the failure, when a chunked write fails partway. |
public HealthError getError() |
Inherited methods
Constructor details
HealthException
public HealthException(HealthError error, String message)Creates an exception carrying a typed reason.
HealthException
public HealthException(HealthError error, String message, Throwable cause)Creates an exception carrying a typed reason and an underlying
cause.
Method details
getPartialResult
public HealthWriteResult getPartialResult()Samples already committed before the failure, when a chunked write fails partway.
A write larger than HealthStore.getMaxWriteBatchSize() is sent in
chunks, and an earlier chunk can be stored before a later one
fails. Without this the caller sees only the failure, retries the
whole batch, and writes the committed samples a second time –
duplicate records in the user’s health store. Null when the failure
was not a partial write.
getError
public HealthError getError()