clone_from()抛出什么异常?是否有识别异常的一般方法?

时间:2019-06-18 01:58:50

标签: python exception gitpython

我想编写一些代码来捕获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

0 个答案:

没有答案