diff --git a/swig/parser.i b/swig/parser.i
index 2da5c3a2115b6643c09744c56409be88083a97bf..e8a0c9b0fc654ee191eefb7c3d55b826c78db1f4 100644
--- a/swig/parser.i
+++ b/swig/parser.i
@@ -133,7 +133,19 @@ namespace Wccl {
       const std::string& file_contents_string, 
       const std::string& search_path = ".") const;
 
-    /* --------------------------------------------------------------------- */
+    %exception {
+      try {
+        $action
+      } catch (PwrNlp::PwrNlpError &e) {
+        PyErr_SetString(PyExc_IndexError, e.info().c_str());
+        return NULL;
+      }
+    }
+    shared_ptr<WcclFile> parseWcclFileFromPath(
+      const std::string& filename, 
+      const std::string& search_path = ".") const;
+    
+/* --------------------------------------------------------------------- */
 
     const Corpus2::Tagset& tagset() const;
   };