首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF自定义EL函数-封装异常

JSF自定义EL函数-封装异常
EN

Stack Overflow用户
提问于 2014-01-22 20:52:16
回答 1查看 60关注 0票数 0

遵循此示例(基于similar question):

代码语言:javascript
复制
/**
 * 
 */
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方法来封装异常?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 21:08:50

取决于具体的功能需求。

如果一个空输出是可接受的,记录它并返回null。

代码语言:javascript
复制
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;
    }
}

如果不能接受,就扔出去。

代码语言:javascript
复制
public static String process(String input) throws IOException {
    SomeProcessor processor = new SomeProcessor();
    return processor.process(input);
}

与具体问题无关,您最好在创建/更新期间只处理一次标记并将其存储为属性(最终也存储在DB中),而不是一次又一次地处理相同的输出。因此,您实际上得到了两个属性/ DB列,一个带有原始标记,另一个带有解析/处理的标记。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21293732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档