Commits

Robert Brewer committed b9223ca

Fix for #486 (Error when raise an error other than cherrypy.NotFound).

Comments (0)

Files changed (2)

cherrypy/_cphttptools.py

         try:
             body = page_handler(*virtual_path, **self.params)
         except Exception, x:
-            x.args = x.args + (page_handler,)
+            if hasattr(x, "args"):
+                x.args = x.args + (page_handler,)
             raise
         cherrypy.response.body = body
     

cherrypy/_cputil.py

     
     if exc == (None, None, None):
         return ""
-    args = exc[1].args
-    page_handler_str = ""
-    if len(args) > 1:
-        page_handler = args[-1]
-        page_handler_str = 'Page handler: %s\n' % repr(page_handler)
-        args = args[:-1]
-        exc[1].args = args
+    if hasattr(exc[1], "args"):
+        page_handler_str = ""
+        if len(exc[1].args) > 1:
+            page_handler = exc[1].args.pop()
+            page_handler_str = 'Page handler: %s\n' % repr(page_handler)
     return page_handler_str + "".join(traceback.format_exception(*exc))
 
 def bareError(extrabody=None):
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.