Вебинар: Стратегия без иллюзий: как превращать цели в результаты - 19.08
V596. Object was created but is not used. Check for missing 'throw' keyword.
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw BinderException(FOO); parquet_extension.cpp 221
static unique_ptr<FunctionData> ParquetWriteBind(....) {
....
for (auto &option : input.info.options) {
const auto loption = StringUtil::Lower(option.first);
if (option.second.size() != 1) {
// All parquet write options require exactly one argument
throw BinderException("%s requires exactly one argument", // <=
StringUtil::Upper(loption));
}
else if(loption == "shredding")
{
....
if (shredding_types_value.type().id() != LogicalTypeId::STRUCT) {
BinderException("SHREDDING value should be a STRUCT" // <=
" of column names to types, i.e:"
" {col1:'INTEGER[]', col2: 'BOOLEAN'}");
}
....
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw runtime_error(FOO); sweep.cc 123
void Sweep::EdgeEvent(....)
{
....
if (o1 == COLLINEAR) {
if( triangle->Contains(&eq, p1)) {
....
} else {
std::runtime_error("EdgeEvent - collinear points not supported");
assert(0);
}
return;
}
....
if (o2 == COLLINEAR) {
if (triangle->Contains(&eq, p2)){
....
} else {
std::runtime_error("EdgeEvent - collinear points not supported");
assert(0);
}
return;
}
....
}
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw nn_error(FOO); conv2d_op_opencl.h 136
class nn_error : public std::exception {
public:
explicit nn_error(const std::string &msg) : msg_(msg) {}
const char *what() const throw() override { return msg_.c_str(); }
private:
std::string msg_;
};
class Conv2dOpenCLBackwardOp : public core::OpKernel {
public:
explicit Conv2dOpenCLBackwardOp(const core::OpKernelConstruction &context)
: core::OpKernel(context) {}
void compute(core::OpKernelContext &context) override {
CNN_UNREFERENCED_PARAMETER(context);
nn_error("Not implemented yet.");
}
};
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw nn_error(FOO); device.h 68
class nn_error : public std::exception {
public:
explicit nn_error(const std::string &msg) : msg_(msg) {}
const char *what() const throw() override { return msg_.c_str(); }
private:
std::string msg_;
};
inline Device::Device(....)
: type_(type),
has_clcuda_api_(true),
platform_id_(platform_id),
device_id_(device_id) {
....
#else
nn_error("TinyDNN has not been compiled with OpenCL or CUDA support.");
#endif
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw runtime_error(FOO); bruteforce.h 26
template<typename dist_t>
class BruteforceSearch : public AlgorithmInterface<dist_t> {
public:
BruteforceSearch(SpaceInterface <dist_t> *s, size_t maxElements) {
maxelements_ = maxElements;
data_size_ = s->get_data_size();
fstdistfunc_ = s->get_dist_func();
dist_func_param_ = s->get_dist_func_param();
size_per_element_ = data_size_ + sizeof(labeltype);
data_ = (char *) malloc(maxElements * size_per_element_);
if (data_ == nullptr)
std::runtime_error(
"Not enough memory: BruteforceSearch failed to allocate data");
cur_element_count = 0;
}
....
}
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw runtime_error(FOO); RTensor.hxx 363
template <typename Value_t, typename Container_t>
inline RTensor<Value_t, Container_t> RTensor<Value_t, Container_t>::Transpose()
{
if (fLayout == MemoryLayout::RowMajor) {
fLayout = MemoryLayout::ColumnMajor;
} else if (fLayout == MemoryLayout::ColumnMajor) {
fLayout = MemoryLayout::RowMajor;
} else {
std::runtime_error("Memory layout is not known.");
}
....
}
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw ParseException(FOO); Response.cpp 659
size_t
Response::ExtractNumber(BDataIO& stream)
{
BString string = ExtractString(stream);
const char* end;
size_t number = strtoul(string.String(), (char**)&end, 10);
if (end == NULL || end[0] != '\0')
ParseException("Invalid number!");
return number;
}
V596 CWE-390 The object was created but it is not being used. The 'throw' keyword could be missing: throw runtime_error(FOO); prefabobject.cpp 1491
static std::vector<std::string> PyGetPrefabLibrarys()
{
CPrefabManager* pPrefabManager = GetIEditor()->GetPrefabMa....;
if (!pPrefabManager)
{
std::runtime_error("Invalid Prefab Manager.");
}
....
}
throw std::runtime_error("Invalid Prefab Manager.");
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw runtime_error(FOO); mysqlxtest.cc 509
mysqlx::XProtocol* active()
{
if (!active_connection)
std::runtime_error("no active session");
return active_connection.get();
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw domain_error(FOO); pluginhost.cpp 1486
void Loader::doLoad(const QString &file)
{
....
int ret = pi->ini_(host);
if (ret) {
delete host;
std::domain_error("failed initialized: error on ....");
}
....
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw runtime_error(FOO); simplenetworkbuilder.cpp 1578
template <class ElemType>
ComputationNetworkPtr SimpleNetworkBuilder<ElemType>::
BuildNetworkFromDbnFile(const std::wstring& dbnModelFileName)
{
....
if (this->m_outputLayerSize >= 0)
outputLayerSize = this->m_outputLayerSize;
else if (m_layerSizes.size() > 0)
m_layerSizes[m_layerSizes.size() - 1];
else
std::runtime_error("Output layer size must be..."); // <=
....
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw Exception(FOO); waypointpyimp.cpp 231
void WaypointPy::setTool(Py::Int arg)
{
if((int)arg.operator long() > 0)
getWaypointPtr()->Tool = (int)arg.operator long();
else
Base::Exception("negativ tool not allowed!");
}
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw logic_error(FOO); components exprparser.cpp 101
void ExprParser::replaceBinaryOperands()
{
....
if (t1==t2)
mOperands.push_back (t1);
else if (t1=='f' || t2=='f')
mOperands.push_back ('f');
else
std::logic_error ("failed to determine result operand type");
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw sg_exception(FOO); root.cxx 239
class sg_throwable : public std::exception { .... };
class sg_exception : public sg_throwable { .... };
void Root::scheduleToUpdate(Install* aInstall)
{
if (!aInstall) {
sg_exception("missing argument to scheduleToUpdate");
}
....
}
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw G4HadronicException(FOO); G4had_mod_util g4generalphasespacedecay.hh 116
inline G4double G4GeneralPhaseSpaceDecay::Pmx(
G4double e, G4double p1, G4double p2)
{
// calculate momentum of daughter particles in two-body decay
if (e-p1-p2 < 0 )
{
G4HadronicException(__FILE__, __LINE__,
"G4GeneralPhaseSpaceDecay::Pmx energy in "
"cms > mass1+mass2");
}
....
}
Most likely this is what should be written here: throw G4HadronicException(__FILE__, __LINE__, ....);
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw ConversionError(FOO); xmlhandler.h 247
inline UInt asUInt_(const String & in)
{
UInt res = 0;
try
{
Int tmp = in.toInt();
if (tmp < 0)
{
Exception::ConversionError(__FILE__, __LINE__,
__PRETTY_FUNCTION__, "");
}
res = UInt(tmp);
}
catch (Exception::ConversionError)
{
error(LOAD,
String("UInt conversion error of \"") + in + "\"");
}
return res;
}
Similar errors can be found in some other places:
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw length_error(FOO); ceguistring.cpp 59
bool String::grow(size_type new_size)
{
// check for too big
if (max_size() <= new_size)
std::length_error(
"Resulting CEGUI::String would be too big");
....
}
Most likely this is what should be written here: throw std::length_error("Resulting CEGUI::String would be too big");
V596 The object was created but it is not being used. The 'throw' keyword could be missing: throw InvalidRequestException(FOO); fallistheader.cpp 74
class CEGUIEXPORT InvalidRequestException : public Exception
{
....
};
ListHeaderSegment*
FalagardListHeader::createNewSegment(const String& name) const
{
// make sure this has been set
if (d_segmentWidgetType.empty())
{
InvalidRequestException(
"FalagardListHeader::createNewSegment - "
"Segment widget type has not been set!");
}
return ....;
}
Most likely this is what should be written here: throw InvalidRequestException(....);