Manejo de errores en Python con SUDS

He estado tratando de controlar una cámara a través de un archivo wsdl usando SUDS. Tengo el código funcionando pero quiero colocar el manejo de errores en el script. He intentado diferentes excepciones pero no puedo hacer que el script funcione. Cuando ingreso una coordenada inválida, recibo un error. El código que estoy usando está debajo del error que estoy recibiendo.

#!/home/build/Python-2.6.4/python

import suds
from suds.client import Client

####################################################################
#
#   Python SUDS Script that controls movement of Camera
#
####################################################################
#
#                    Absolute Move Function
#
####################################################################

def absoluteMove():

    # connects to WSDL file and stores location in variable 'client'
    client = Client('http://file.wsdl')

    # Create 'token' object to pass as an argument using the 'factory' namespace
    token = client.factory.create('ns4:ReferenceToken')
    print token

    # Create 'dest' object to pass as an argument and values passed to this object
    dest = client.factory.create('ns4:PTZVector')
    dest.PanTilt._x=400
    dest.PanTilt._y=0
    dest.Zoom._x=1
    print dest

    # Create 'speed' object to pass as an argument and values passed to this object
    speed = client.factory.create('ns4:PTZSpeed')
    speed.PanTilt._x=0
    speed.PanTilt._y=0
    speed.Zoom._x=1
    print speed

    # 'AbsoluteMove' method invoked passing in the new values entered in the above objects

    try:
        result = client.service.AbsoluteMove(token, dest, speed)
    except RuntimeError as detail:
        print 'Handling run-time error:', detail

    print "absoluteMove result ", result

result = absoluteMove() 

El error está abajo:

No handlers could be found for logger "suds.client"
Traceback (most recent call last):
  File "ptztest.py", line 48, in <module>
    if __name__ == '__main__': result = absoluteMove()    
  File "ptztest.py", line 42, in absoluteMove
    result = client.service.AbsoluteMove(token, dest, speed)
  File "build/bdist.linux-i686/egg/suds/client.py", line 537, in __call__
  File "build/bdist.linux-i686/egg/suds/client.py", line 597, in invoke
  File "build/bdist.linux-i686/egg/suds/client.py", line 632, in send
  File "build/bdist.linux-i686/egg/suds/client.py", line 683, in failed
  File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 235, in get_fault
suds.WebFault: Server raised fault: 'Error setting requested pan'

No estoy seguro de qué excepción debería usar aquí. Alguien sabe como atrapar este error. La coordenada x con el valor 400 está en grados, por eso ocurre el error.

Gracias

Está bien, he encontrado la solución. En SUDS si entras:

faults=False

en la definición del cliente, esto detecta fallas y da la razón por la que ocurrió la falla. La línea debe leer:

client = Client('http://file.wsdl', faults=False)

La publicación que he marcado como la respuesta correcta también puede detectar que ha ocurrido un problema.

Gracias a todos

Respuestas a la pregunta(4)

Su respuesta a la pregunta