python - 如何在 python + paramiko 中将套接字错误作为异常处理?

标签 python exception error-handling paramiko

我想在出现以下错误时返回错误代码:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "UserManagementRemote.py", line 202, in create_group
  ssh.connect(hostname, username=user, password=remotepass)
 File "/usr/lib/python2.6/site-packages/paramiko/client.py", line 290, in connect
   sock.connect(addr)
 File "<string>", line 1, in connect
socket.error: [Errno 113] No route to host
>>>

但我目前无法捕获引发的错误。

try:
   ssh = paramiko.SSHClient()
   ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
   ssh.connect(hostname, username=user, password=remotepass)
except paramiko.AuthenticationException:
   return 259
except socket.error:
   return 261
chan = ssh.get_transport().open_session()
chan.exec_command(command)
codest = chan.recv_exit_status()
ssh.close()
return codest

结果:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "UserManagementRemote.py", line 207, in create_group
  except socket.error:
NameError: global name 'socket' is not defined
>>>

有什么想法吗?

最佳答案

import socket

在执行异常处理的模块中。

为防止将来出现此问题,请运行 pyflakes在所有源文件上。这也会捕获很多其他错误。

关于python - 如何在 python + paramiko 中将套接字错误作为异常处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491194/

相关文章:

python - Django SQLite 在测试时试图覆盖数据库

c# - 为什么在将 double 转换为十进制时会出现 InvalidCastException

c++ - 将文本文件解析为对象时的错误处理

c# - 如何获取异常详细信息

PHP 警告 : Module 'imagick' already loaded in Unknown on line 0

error-handling - Spring 集成: Splitter exception causes subsequent messages to abort

python - 如何使用 Python 3、套接字和代理 (TOR) 获取我的 IP?

python - 用 Python 创建离线游戏排行榜

Python 和通过 SSH 连接到 MySQL

java - 如何摆脱仅在 Debug模式下在 Android 应用程序中遇到的 ClassNotFoundException?