未能捕获异常

时间:2012-03-30 19:41:44

标签: java exception-handling coldfusion coldfusion-8 svnkit

我正在使用SVNKit,我发现测试Authentification到服务器的唯一方法是使用类testConnection()的方法SVNRepository

该方法不返回布尔值但会抛出异常。

public abstract void testConnection()
                         throws SVNException

问题在于,我得到了一个冷血错误,而不是被捕获: coldfusion error in try catch (SVNRepository.testConnection())

这是我的代码:

        clientManager = CreateObject("java", "org.tmatesoft.svn.core.wc.SVNClientManager").newInstance();

        authManagerJO = CreateObject("java", "org.tmatesoft.svn.core.wc.SVNWCUtil").
                createDefaultAuthenticationManager(ARGUMENTS.username, JavaCast("String", ARGUMENTS.password));
        authManagerJO.setAuthenticationForced(true);
        clientManager.setAuthenticationManager(authManagerJO); 
        svnDavRepoFactory = CreateObject("java", "org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory").setup();
        repositoryUrlJO = CreateObject("java", "org.tmatesoft.svn.core.SVNURL").parseURIDecoded(APPLICATION.svn_repository_audifiles);
        svnRepository = clientManager.createRepository(repositoryUrlJO, true);
        try{
            svnRepository.testConnection();
        }
        catch (Exception e){
            svnRepository = "";
        }

3 个答案:

答案 0 :(得分:7)

嗯,它完全有可能抛出一个不是Exception的异常 - 另一种Throwable。你可以捕获Throwable,虽然那会非常苛刻......捕获一次,记录确切的异常类型,然后捕捉 是合理的。 ..

答案 1 :(得分:2)

您是否尝试抓取Any代替Exception

这样,即使异常不是像Jon建议的Exception,你也一定会抓住所有

答案 2 :(得分:0)

catch (any e) {
    write dump(e);
    abort;
}

然后你会看到实际的错误。