Belirli istisnaları ele alan programlar yazmak mümkündür. Aşağıdaki örnek,
        kullanıcıdan geçerli bir tamsayı girilene kadar kullanıcıdan giriş yapması
        istenir. Control-C tuş kombinasyonu (ya da işletim sisteminin desteklediği
        başka bir kombinasyon) ile kullanıcı programdan çıkabilir. Kullanıcın sebep
        olduğu bu olay ise KeyboardInterrupt istisnasının
        oluşmasına neden olur.
>>> while True:
...     try:
...         x = int(raw_input("Lütfen bir rakam giriniz: "))
...         break
...     except ValueError:
...         print "Bu geçerli bir giriş değil.  Tekrar deneyin..."
...
        try deyimi aşağıdaki gibi çalışır:
      
        - 
              Önce try bloğu (try ve
              except arasındaki ifade(ler)) işletilir.
             
- 
              Hiçbir istisna oluşmaz ise except bloğu atlanır
              ve try deyimin icrası son bulur.
             
- 
              Eğer try bloğu içinde bir istisna oluşur ise
              bloğun geri kalanı atlanır. İstisnanın türü except
              anahtar kelimesinden sonra kullanılan ile aynı ise try
              bloğunun kalan kısmı atlanır ve except bloğu
              yürütülür. Programın akışı try ... except kısmından
              sonra gelen ilk satırdan devam eder.
             
- 
              Adı except bloğunda geçmeyen bir istisna oluşur
              ise üst seviyedeki try ifadelerine geçirilir; ancak
              bunu ele alan bir şey bulunmaz ise bu bir ele alınmamış istisna olur ve
              yürütme işlemi yukarıda da görüldüğü gibi bir hata mesajı ile son bulur.
             
        Bir try deyimi farklı istisnaları yakalayabilmek için
        birden fazla except bloğuna sahip olabilir. Bir
        except bloğu parantez içine alınmış bir liste ile birden
        fazla istisna adı belirtebilir. Örnek:
... except (RuntimeError, TypeError, NameError):
...     pass
        Son except bloğu istisna adı belirtilmeden de
        kullanılıp herhangi bir istisnayı yakalayabilir. Bunu çok dikkatli
        kullanın, çünkü çok ciddi bir programlama hatasını bu şekilde gözden
        kaçırabilirsiniz! Bu özellik bir hata mesajı bastırıp ve tekrar bir
        istisna oluşturarak çağıranın istisnayı ele almasını da sağlamak için
        kullanılabilir:
import string, sys
try:
    f = open('myfile.txt')
    s = f.readline()
    i = int(string.strip(s))
except IOError, (errno, strerror):
    print "I/O error(%s): %s" % (errno, strerror)
except ValueError:
    print "Could not convert data to an integer."
except:
    print "Unexpected error:", sys.exc_info()[0]
    raise
        try ... except ifadesinin seçimlik else
        bloğu da vardır. Bu her except bloğunun ardına yazılır ve
        try bloğunun istisna oluşturmadığı durumlarda icra
        edilmesi gereken kod bulunduğu zaman kullanılır. Örnek:
for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print 'cannot open', arg
    else:
        print arg, 'has', len(f.readlines()), 'lines'
        f.close()
        else bloğu kullanmak try bloğuna
        ek satırlar eklemekten iyidir çünkü bu try ... except
        ifadesi tarafından korunan kodun oluşturmadığı bir istisnanın kazara
        yakalanmasını engeller.
      
        Bir istisna meydana geldiğinde istisna argümanı olarak bilinen bir değer
        de bulunabilir. Argümanın varlığı ve türü istisnanın türüne bağlıdır.
        Argümanı olan istisna türleri için except bloğunda
        istisna adından (ya da listesinden) sonra argüman değerini alacak bir
        değişken belirtilebilir:
>>> try:
...     spam()
... except NameError, x:
...     print 'name', x, 'undefined'
...
name spam undefined
        Bir istisnanın argümanı var ise ele alınmayan istisna mesajının son
        kısmında (`ayrıntı') basılır.
      
        İstisna işleyiciler (exception handlers) sadece try
        bloğu içinde meydana gelen istisnaları değil try
        bloğundan çağırılan (dolaylı olarak bile olsa) işlevlerdeki istisnaları
        da ele alırlar. Örnek:
>>> def this_fails():
...     x = 1/0
...
>>> try:
...     this_fails()
... except ZeroDivisionError, detail:
...     print 'Handling run-time error:', detail
...
Handling run-time error: integer division or modulo