Catch exceptions for single regions

This commit is contained in:
Matthias Schiffer 2015-02-02 03:38:49 +01:00
parent a3d6648fa6
commit 75671b4b96

View file

@ -117,6 +117,7 @@ static void doRegion(const std::string &input, const std::string &output) {
const std::string tmpfile = output + ".tmp";
try {
uint32_t image[DIM][DIM] = {};
World::Region::visitChunks(input.c_str(), [&image] (size_t X, size_t Z, const World::Chunk *chunk) { addChunk(image, X, Z, chunk); });
@ -130,6 +131,11 @@ static void doRegion(const std::string &input, const std::string &output) {
std::fprintf(stderr, "Unable to save %s: %s\n", output.c_str(), std::strerror(errno));
unlink(tmpfile.c_str());
}
}
catch (const std::exception& ex) {
std::fprintf(stderr, "Failed to generate %s: %s\n", output.c_str(), ex.what());
unlink(tmpfile.c_str());
}
}
int main(int argc, char *argv[]) {