我實現了一個簡單的自然語言解析器我的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