遵循此示例(基于similar question):
/**
*
*/
package za.co.sindi.jsf.functions;
import java.io.IOException;
import org.markdown4j.Markdown4jProcessor;
/**
*
* @author Buhake Sindi
* @since 22 January 2013
*
*/
public final class SomeFunctions {
/**
* Private constructor
*/
private SomeFunctions() {
//TODO: Nothing...
}
public static String process(String input) {
SomeProcessor processor = new SomeProcessor();
try {
return processor.process(input);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); //I don't believe this is correct.
}
}
}在catch块中我应该做什么?我只是将其记录在java Logger上,还是有一种首选的JSF方法来封装异常?
发布于 2014-01-22 21:08:50
取决于具体的功能需求。
如果一个空输出是可接受的,记录它并返回null。
public static String process(String input) {
SomeProcessor processor = new SomeProcessor();
try {
return processor.process(input);
} catch (IOException e) {
someLogger.warn("Processing markdown failed", e);
return null;
}
}如果不能接受,就扔出去。
public static String process(String input) throws IOException {
SomeProcessor processor = new SomeProcessor();
return processor.process(input);
}与具体问题无关,您最好在创建/更新期间只处理一次标记并将其存储为属性(最终也存储在DB中),而不是一次又一次地处理相同的输出。因此,您实际上得到了两个属性/ DB列,一个带有原始标记,另一个带有解析/处理的标记。
https://stackoverflow.com/questions/21293732
复制相似问题