简体   繁体   English

Microsoft Translation API:检索翻译时出错:无法将'null'解析为整数

[英]Microsoft translation API : Error retrieving translation : unable to parse 'null' as integer

i am trying to run a translation service from https://github.com/rmtheis/android-ocr and getting the following error when retreiving a result from MIcrosoft translation Api service 我试图从https://github.com/rmtheis/android-ocr运行翻译服务,并从MIcrosoft Translation Api服务检索结果时出现以下错误

TranslatorBing(30659): Caught exeption in translation request.

W/System.err(30659): java.lang.Exception: [microsoft-translator-api] Error retrieving translation : unable to parse 'null' as integer

W/System.err(30659): at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:199)

W/System.err(30659): at com.memetix.mst.translate.Translate.execute(Translate.java:61)

W/System.err(30659): at edu.sfsu.cs.orange.ocr.language.TranslatorBing.translate(TranslatorBing.java:42)

W/System.err(30659): at edu.sfsu.cs.orange.ocr.language.Translator.translate(Translator.java:49)

W/System.err(30659): at edu.sfsu.cs.orange.ocr.language.TranslateAsyncTask.doInBackground(TranslateAsyncTask.java:58)

W/System.err(30659): at edu.sfsu.cs.orange.ocr.language.TranslateAsyncTask.doInBackground(TranslateAsyncTask.java:1)

W/System.err(30659): at android.os.AsyncTask$2.call(AsyncTask.java:185)

W/System.err(30659): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)

W/System.err(30659): at java.util.concurrent.FutureTask.run(FutureTask.java:138)

W/System.err(30659): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)

W/System.err(30659): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)

W/System.err(30659): at java.lang.Thread.run(Thread.java:1019)

W/System.err(30659): Caused by: java.lang.NumberFormatException: unable to parse 'null' as integer

W/System.err(30659): at java.lang.Integer.parseInt(Integer.java:356)

W/System.err(30659): at java.lang.Integer.parseInt(Integer.java:332)

W/System.err(30659): at com.memetix.mst.MicrosoftTranslatorAPI.retrieveResponse(MicrosoftTranslatorAPI.java:158)

W/System.err(30659): at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:196)

W/System.err(30659): ... 11 more

E/TranslateAsyncTask(30659): FAILURE

as in log : 如在日志中:

NumberFormatException: unable to parse 'null' as integer NumberFormatException:无法将'null'解析为整数

means you are trying to convert an null value to integer . 表示您正在尝试将null值转换为integer。 before converting String value to integer check it for null to empty and use try/catch for handling NumberFormatException . 在将String值转换为整数之前,将其检查为null为空,并使用try/catch处理NumberFormatException

int  intnum=0;
if (strvalue !=null && !"".equals(strvalue) ){
     try {
           int  intnum = Integer.parseInt(strvalue);

         } catch (NumberFormatException e) {
            intnum=0;
            System.out.println(e.getMessage());
        }
}
else{
intnum=0;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM