我在为Alfresco Exception打印异常堆栈跟踪时遇到了一些问题。
在调试模式下,在Eclipse IDE下逐步执行我能够在引发异常时查看消息,检查Exception对象,但是当我将错误消息发送到控制台输出时,它始终为null。
此指令引发了异常:
try {
UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);
}
catch (Exception ex) {
System.out.println(" " + ex.getStackTrace());
System.out.println("ERROR - createContent : " + ex.getMessage());
}
(在这种情况下,我试着写一个存储库中不存在的文件夹)并在eclipse上检查ex对象我可以看到消息:
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 :(得分:1)
以这种方式实现方法:
NamedValue setNameProperty(String name) throws AlfrescoRuntimeException
{
try {
return Utils.createNamedValue(Constants.PROP_NAME, name);
}
catch (Exception ex) {
throw new AlfrescoRuntimeException(ex.getMessage());
}
}
使用e.printStackTrace();
正确打印消息答案 1 :(得分:0)
尝试将log4j.properties中的包从debug更改为error