Delete partially-written file in the event of an error.
diff --git a/tools/mkdoc.py b/tools/mkdoc.py
index 0757c80..ffe37d2 100644
--- a/tools/mkdoc.py
+++ b/tools/mkdoc.py
@@ -342,8 +342,17 @@
             break
     try:
         if out_path:
-            with open(out_path, 'w') as out_file:
-                mkdoc(args, out_file)
+            try:
+                with open(out_path, 'w') as out_file:
+                    mkdoc(args, out_file)
+            except:
+                # In the event of an error, don't leave a partially-written
+                # output file.
+                try:
+                    os.unlink(out_path)
+                except:
+                    pass
+                raise
         else:
             mkdoc(args)
     except NoFilenamesError: