我有一个连接到 SVN 数据库并签出文件夹/文件的功能。当给出正确的登录信息时,它会继续进行。但是,当给出错误的登录信息时,pysvn 会引发异常并崩溃。我试图捕捉并处理错误,但我似乎无法正确捕捉到它:
代码(假设 'svnlogin' 包含垃圾信息):
def connect_and_checkout():
client = pysvn.Client()
client.callback_get_login = svnlogin
try:
client.checkout(svnurl(),
'./examples/pysvn')
except (pysvn.ClientError) as e:
print("error during svn command", e)
预期输出:
error during svn command, 'error'
实际输出(使程序崩溃):
svn: E235000: In file 'c:\buildroot\win64-vc-14.1-1.14.0\subversion-1.14.0\subversion\libsvn_client\checkout.c' line 88: assertion failed (svn_uri_is_canonical(url, scratch_pool))
除了“pysvn.ClientError”作为异常参数之外,我还尝试了“svn”、“pysvn.svn”、“AssertionError”、“SvnException”和一个空白的“except:”。他们似乎都没有正确捕获异常并让我处理它。