diff --git a/tools/mkdoc.py b/tools/mkdoc.py
index 0b0ce3e..c690aef 100644
--- a/tools/mkdoc.py
+++ b/tools/mkdoc.py
@@ -59,6 +59,11 @@
 
 output = []
 
+
+class NoFilenamesError(ValueError):
+    pass
+
+
 def d(s):
     return s if isinstance(s, str) else s.decode('utf8')
 
@@ -224,7 +229,8 @@
         finally:
             job_semaphore.release()
 
-if __name__ == '__main__':
+
+def mkdoc(args):
     parameters = []
     filenames = []
     if "-x" not in args:
@@ -260,15 +266,14 @@
         if clang_include_dir:
             parameters.extend(['-isystem', clang_include_dir])
 
-    for item in sys.argv[1:]:
+    for item in args:
         if item.startswith('-'):
             parameters.append(item)
         else:
             filenames.append(item)
 
     if len(filenames) == 0:
-        print('Syntax: %s [.. a list of header files ..]' % sys.argv[0])
-        exit(-1)
+        raise NoFilenamesError("args parameter did not contain any filenames")
 
     print('''/*
   This file contains docstrings for the Python bindings.
@@ -321,3 +326,11 @@
 #pragma GCC diagnostic pop
 #endif
 ''')
+
+
+if __name__ == '__main__':
+    try:
+        mkdoc(sys.argv[1:])
+    except NoFilenamesError:
+        print('Syntax: %s [.. a list of header files ..]' % sys.argv[0])
+        exit(-1)
