diff --git a/src/main/java/net/sundell/snax/SNAXParser.java b/src/main/java/net/sundell/snax/SNAXParser.java
index <HASH>..<HASH> 100755
--- a/src/main/java/net/sundell/snax/SNAXParser.java
+++ b/src/main/java/net/sundell/snax/SNAXParser.java
@@ -132,7 +132,7 @@ public class SNAXParser<T> {
         done = false;

     }

 

-    private XMLEvent processEvent(XMLEvent event) throws XMLStreamException, SNAXUserException {       

+    private XMLEvent processEvent(XMLEvent event) throws SNAXUserException {       

         try {

             int type = event.getEventType();

             currentLocation = event.getLocation();

@@ -200,6 +200,11 @@ public class SNAXParser<T> {
             e.setLocation(currentLocation);

             throw e;

         }

+        catch (Exception e) {

+            SNAXUserException se = new SNAXUserException(e);

+            se.setLocation(currentLocation);

+            throw se;

+        }

     }

 

     private void checkState(boolean test, String message) {
Issue 5: Wrap exceptions thrown within processEvent as SNAXUserException