anipulando exceções de Pyth

Eu tenho esse código muito simples para verificar se um site está ativo ou inativ

import httplib2
h = httplib2.Http()
response, content = h.request("http://www.folksdhhkjd.com")
if response.status == 200:
    print "Site is Up"
else:
    print "Site is down"

Quando insiro um URL válido, ele é impresso corretamente. Site is Up porque o status é 200 conforme o esperado. Mas, quando eu insiro um URL inválido, ele não deve imprimir O site está inativo? Em vez disso, imprime uma exceção, algo como isto

Traceback (most recent call last):
  File "C:\Documents and Settings\kripya\Desktop\1.py", line 3, in <module>
    response, content = h.request("http://www.folksdhhkjd.com")
  File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1436, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1188, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1129, in _conn_request
    raise ServerNotFoundError("Unable to find the server at %s" % conn.host)
ServerNotFoundError: Unable to find the server at www.folksdhhkjd.com

Como posso substituir esta exceção e imprimir minha mensagem "Site desativado", definido e personalizado? Alguma orientação, por favor?

EDITA

Também mais uma pergunta ... qual é a diferença entre usar

h = httplib2.Http('.cache')   

h = httplib2.Http()   

questionAnswers(2)

yourAnswerToTheQuestion