【发布时间】:2012-03-30 19:41:44
【问题描述】:
我正在使用 SVNKit,我发现测试服务器身份验证的唯一方法是使用 SVNRepository 类的方法 testConnection()。
该方法不返回布尔值,而是抛出异常。
public abstract void testConnection()
throws SVNException
问题是,我得到了一个coldfusion错误,而不是被捕获:
这是我的代码:
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 = "";
}
【问题讨论】:
-
注意:如果登录成功,该方法不会失败。只有在抛出异常时才会失败(用户名/密码错误)。
-
使用
catch( Throwable e )时是否也会出现这种情况? -
@Robin
catch (Throwable e)也失败了。 -
@FrancisP:声称在“SVNKitHelper.cfc”中——这不是普通的Java吗?我以前没有发现。也许这就是关键……
-
@Jon Skeet:不,它是 ColdFusion 组件使用的 java 对象。也许,
try..catch语法在我的<cfscript>标记中无效。
标签: java exception-handling coldfusion coldfusion-8 svnkit