下面的代码不仅捕获错误,还捕获带有某些特定输入的警告。有什么方法可以忽略所有警告,而不是在catch块中对其进行检查吗?我知道我可以在终端上使用+profile "*"
,但是我不知道如何在C ++中解决它。
try {
Blob buff = Blob(input, inLen);
pImage->read(buff);
} catch (Exception &error) {
cout << error.what() << endl;
delete(pImage);
return -1;
}
答案 0 :(得分:2)
如果我正确地阅读Exception.cpp,则Magick::Exception
太普通了。尝试将警告与错误隔离。
try {
Magick::Blob buff = Magick::Blob(input, inLen);
pImage->read(buff);
} catch (Magick::Warning &warning) {
// Ignore, or log
} catch (Magick::Error &error) {
cout << error.what() << endl;
delete(pImage);
return -1;
}