我想编写一些代码来捕获git.Repo.clone_from()抛出的异常(如果给出了一个不存在的repo的URL)。我想知道这里引发了什么类型的异常,因为在追溯中似乎没有发现任何特定的异常。
我尝试捕获Exception和git.exc.GitError,但这两个都不起作用。当我使用通用的except块而不标识特定的异常时,代码可以工作,但是我真的很想知道我应该寻找的异常。
例如,以下内容将显示“成功!”
def foo():
try:
git.Repo.clone_from('non_existant_repo_URL',os.getcwd()+'\\something')
except:
print('success!')
,但是以下内容仅会打印一条错误消息,而无需访问except块:
def foo():
try:
git.Repo.clone_from('non_existant_repo_URL',os.getcwd()+'\\something')
except <Exception or git.exc.GitError> as e:
print('success!')
运行第二个块时显示的错误是
Cmd('git') failed due to: exit code(128)
cmdline: git clone -v non_existant_repo_URL <working directory>
stderr: 'Cloning into '<working directory>'...
remote: Repository non_existant_repo_URL not found
fatal: repository 'non_existant_repo_URL' not found