Kullandığınız algoritma biraz yanlış açıkçası. Bütün fonksiyonu asla exception' a sokmayın. Recursive fonksiyon ise fonksiyonun kendisini çağırmasıdır.
Mutlaka "Object Oriented Programming" kullanın. Her zaman aradığınız şeyi daha rahat bulursunuz.

Edit: Try-Except' e sokarak hata yakalamak yerine debugging kullanın. Çok daha hızlı ve iyi sonuçlar alırsınız. Try except yapısını gerekli yerlerde kullanın. Bütün fonksiyonu try excepte sokmak demek bütün fonksiyona iş yükü bindirmek demektir.

Yanlış kullanım:
def fonksiyon():
try:
kod bloğu
except:
fonksiyon_()
Doğru kullanım:
def fonksiyon():
try:
kod bloğu
except Exception as e:
print("Hata: {}", format(e))
print("Proxy bağlanırken hata oluştu tekrar deneniyor")
continue
Eğer işlem gerçekleşene kadar aynı fonksiyondan devam etmek istiyorsanız da:
def fonksiyon():
while True:
try:
kod bloğu
except:
continue
break