捕获paramiko中的异常

2 投票
1 回答
1361 浏览
提问于 2025-04-21 10:30

我想写一些逻辑来捕捉来自paramiko模块的异常。

我想在输入错误密码时捕捉到这个异常,但我不太确定怎么做,因为这个库不是标准库的一部分。

   try:
      ssh.connect(host, password = "wrongpassword")
   except _____ as e:
      print error msg

错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/paramiko/client.py", line 273, in connect
    self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
  File "/Library/Python/2.7/site-packages/paramiko/client.py", line 456, in _auth
    raise saved_exception
paramiko.ssh_exception.AuthenticationException: Authentication failed.

我不太确定怎么为这种错误信息创建异常。我看了其他人的代码,通常里面都是一些内置的异常 --> https://docs.python.org/2/library/exceptions.html

1 个回答

4
except paramiko.ssh_exception.AuthenticationException as e:

假设你已经导入了paramiko库。异常在Python中其实就是对象,你可以像传递其他对象一样传递它们。

任何异常都包含了关于它的类别、系统的状态以及它是在哪里被触发的各种信息。你能做的最简单的事情就是

print e

这会给你异常产生时的消息。

撰写回答