$NetBSD: patch-ac,v 1.1.1.1 2003/04/18 19:22:23 hweiss Exp $

--- main.py.orig	2002-04-01 11:37:26.000000000 +0200
+++ main.py
@@ -1036,6 +1036,7 @@ class Mirror:
 
     # Do some error handling
     def HandleError(self, error, source, extra = None):
+        """ Perform error handling for given errors. """
         if (str(error) != ""):
             if (type(error) == TupleType) or (type(error) == InstanceType):
                 errornumber = atoi(str(error[0]))
@@ -1044,9 +1045,14 @@ class Mirror:
                 errornumber = atoi(str(error)[0:3])
                 errormessage = strip(str(error)[4:])
         else:
-            errornumber = 999
-            errormessage = "emirror internal: unknown error"
-        self.log4py.error("[ %s ] Error: #%d - %s" % (str(self.title), errornumber, errormessage)) 
+            # If no error is given, use the traceback
+            if (str(sys.exc_info()[0].__name__) == "EOFError"):
+                errornumber = 902
+                errormessage = "EOFError"
+            else:
+                errornumber = 999
+                errormessage = format_exception(sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2])
+        self.log4py.error("[ %s ] Error: #%d - %s" % (str(self.title), errornumber, errormessage))
         found = FALSE
         for i in range(len(errormsgs)):
             oneerror = errormsgs[i]
@@ -1098,7 +1104,7 @@ class Mirror:
                 self.log4py.error("Please report this error to Martin.Preishuber@eclipt.at")
                 self.log4py.error("or check error.py and adapt it (it's not really difficult ;-))")
 
-            self.AppendLog([LMError, str(errornumber) + "-" + errormessage])
+            self.AppendLog([LMError, str(errornumber) + "-" + str(errormessage)])
             self.WriteLog()
             exit(1)
 
