summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index ace371ba7..ff0569aa5 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -495,7 +495,12 @@ Film::write_metadata ()
{
DCPOMATIC_ASSERT (directory());
boost::filesystem::create_directories (directory().get());
- metadata()->write_to_file_formatted(file(metadata_file).string());
+ auto const filename = file(metadata_file);
+ try {
+ metadata()->write_to_file_formatted(filename.string());
+ } catch (xmlpp::exception& e) {
+ throw FileError(String::compose("Could not write metadata file (%1)", e.what()), filename);
+ }
set_dirty (false);
}