blob: 8b035f458f3823ffa0fb5982c06b16044056c898 [file] [log] [blame]
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
package org.rocksdb;
/**
* A RocksDBException encapsulates the error of an operation. This exception
* type is used to describe an internal error from the c++ rocksdb library.
*/
public class RocksDBException extends Exception {
/* @Nullable */ private final Status status;
/**
* The private construct used by a set of public static factory method.
*
* @param msg the specified error message.
*/
public RocksDBException(final String msg) {
this(msg, null);
}
public RocksDBException(final String msg, final Status status) {
super(msg);
this.status = status;
}
public RocksDBException(final Status status) {
super(status.getState() != null ? status.getState()
: status.getCodeString());
this.status = status;
}
/**
* Get the status returned from RocksDB
*
* @return The status reported by RocksDB, or null if no status is available
*/
public Status getStatus() {
return status;
}
}