2009-09-10 6 views
2

Python 2.5.2, Apache 2.2, Django 1.0.2 finaleComment attraper erreur dans le projet Django sur apache: 10048 "Adresse déjà utilisée"

Mon application Django tente de se connecter à un certain port. Lorsque ce port est occupé, j'obtiens l'erreur 10048 "Adresse déjà utilisée" d'Apache. Je sais d'où vient l'erreur. Comment puis-je attraper cette erreur apache?

Plus d'infos:

error at /report/5/2009/08/01/ 

(10048, 'Address already in use') 

Request Method:  GET 
Request URL: http://192.168.0.21/report/5/2009/08/01/ 
Exception Type:  error 
Exception Value:  

(10048, 'Address already in use') 

Exception Location:  C:\Python25\Lib\httplib.py in connect, line 683 
Python Executable: C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe 
Python Version:  2.5.2 
Python Path: ['D:\\django\\system', 'C:\\Python25\\lib\\site-packages\\setuptools-0.6c9-py2.5.egg', 'C:\\Python25\\lib\\site-packages\\python_memcached-1.44-py2.5.egg', 'C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs', 'c:\\mapnik_0_6_0\\site-packages', 'C:\\Program Files\\Apache Software Foundation\\Apache2.2', 'C:\\WINDOWS\\system32\\python25.zip', 'C:\\Python25\\Lib', 'C:\\Python25\\DLLs', 'C:\\Python25\\Lib\\lib-tk', 'C:\\Program Files\\Apache Software Foundation\\Apache2.2\\bin', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\PIL', 'C:\\Program Files\\GeoDjango\\Django-1.0.2-final'] 

temps du serveur: don 10 Sep 2009 11:20:45 +0200

Répondre

1

Si vous appelez directement httplib.connect à partir de votre code, puis le try/except devrait être autour de cet appel direct. Ou l'appel se passe-t-il indirectement ...? Malheureusement, Apache ne vous donne pas de trace de pile, donc si vous avez des problèmes pour localiser exactement la séquence d'appel, vous pouvez essayer un large choix, sauf au niveau le plus élevé disponible, et enregistrer une impression du retraçage pour pouvoir identifier le site d'appel impliqué (ou, éditez votre question pour montrer le retraçage, et nous pouvons vous aider à le localiser). Voir le module traceback dans la bibliothèque standard de Python pour plus d'informations sur la façon de formater une traceback dans une clause except.

Questions connexes