2011-09-27 74 views
0

我有一些问题,打印异常堆栈跟踪为Alfresco异常。打印Alfresco异常

在调试模式下,在Eclipse IDE下一步一步地检查异常对象时,我能够看到消息,当我将错误消息发送到控制台输出时,它始终为空。

的异常是由该指令提出:

try { 
    UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml); 
} 
catch (Exception ex) { 
    System.out.println(" " + ex.getStackTrace());   
    System.out.println("ERROR - createContent : " + ex.getMessage()); 
} 

(在这种情况下我tryed到不存在于库中的文件夹上写)和蚀检查前对象我可以看到消息:

java.lang.IllegalStateException: Failed to resolve to a single NodeRef with parameters (store=workspace:SpacesStore uuid=null path=/app:company_home/cm:UploadFromJava), found 0 nodes. 

但ex.getMessage()返回null

任何人都可以帮助我吗?

感谢, 安德烈

+0

你如何向控制台“发送”异常? – skuro

+0

试用Ex.toString()/ ex.getStackTrace()/ Ex.getMessage()[对不起,我的英语不好;]] –

+0

对不起,我仍然认为一些更多的细节在这里会有所帮助。你能举例说明抛出异常的代码吗?或者从调试器收集堆栈跟踪?或者您使用哪种方法将这些'toString'调用的结果传递给控制台? – skuro

回答

1

以这种方式实现的方法:

NamedValue setNameProperty(String name) throws AlfrescoRuntimeException 
{ 
    try { 
     return Utils.createNamedValue(Constants.PROP_NAME, name); 
    } 
    catch (Exception ex) { 
     throw new AlfrescoRuntimeException(ex.getMessage()); 
    } 
} 

的消息correclty印有e.printStackTrace();

0

尝试更换你的包从调试log4j.properties错误