我实现了一个简单的自然语言解析器我的Grails应用程序的一部分,以实现一个命令行界面,用户可以输入诸如“创建新用户”,应用程序将执行命令处理这个任务等,我已经创建的文件,如:错误的src/Groovy类
Tokenizer.groovy
PartOfSpeechTagger.groovy
SyntacticAnalyser.groovy
SemanticAnalyser.groovy
CommandGenerator.groovy
由此这些被放置在src/groovy
在我的控制器,我有一个run()
方法实例化这些解析器类,并调用这些对象中的方法,像这样:
def run()
{
def tokenizer = new Tokenizer()
def posTagger = new PartOfSpeechTagger()
def syntacticAnalyser = new SyntacticAnalyser()
def semanticAnalyser = new SemanticAnalyser()
def commandGenerator = new CommandGenerator()
//split command string into tokens
def words = tokenizer.getTokens(params.command)
def taggedWords = posTagger.tagWords(words)
... and so on
}
我的问题是我希望能够到错误信息发送回这些解析器类中出现的客户端,例如,在Tokenizer
如果无效Token
发现等
什么是最好的办法,我处理这些错误,并将它们发回给浏览器?
我有错误,在这种级别的处理没有以往的经验,所以任何输入欢迎。
最初我曾想过抛出一个自定义的InvalidTokenException
并将其捕获到控制器中,并将文本呈现给客户端,但这看起来不正确?!
有什么想法?
是的,这是有益的感谢,没有并发问题,我认为? – 2013-04-28 16:59:44
不,只要你在处理局部范围内的东西的方法。在服务中使用全局范围并不代表我会分享的建议。 – dmahapatro 2013-04-29 03:38:26