开发者社区 问答 正文

java_lang_IllegalArgumentException怎么办?


问题分析:
根据Android官方文档,当方法接收到了一个不合法或不正确的参数时会抛出此类异常。
解决方案:
因为参数不合法导致抛出IllegalArgumentException,请根据堆栈信息描述的出错的函数参数,按照要求传入正确的参数。
代码示例:

  1. [backcolor=transparent]  [backcolor=transparent]public[backcolor=transparent] [backcolor=transparent]static[backcolor=transparent] [backcolor=transparent]void[backcolor=transparent] getUserAgent[backcolor=transparent]([backcolor=transparent]Context[backcolor=transparent] context[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]{
  2. [backcolor=transparent]    [backcolor=transparent]WebView[backcolor=transparent] webview [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]WebView[backcolor=transparent]([backcolor=transparent]context[backcolor=transparent]);
  3. [backcolor=transparent]    [backcolor=transparent]WebSettings[backcolor=transparent] settings [backcolor=transparent]=[backcolor=transparent] webview[backcolor=transparent].[backcolor=transparent]getSettings[backcolor=transparent]();
  4. [backcolor=transparent]    userAgent [backcolor=transparent]=[backcolor=transparent] settings[backcolor=transparent].[backcolor=transparent]getUserAgentString[backcolor=transparent]();
  5. [backcolor=transparent]    [backcolor=transparent]Log[backcolor=transparent].[backcolor=transparent]i[backcolor=transparent]([backcolor=transparent]"UserAgent:"[backcolor=transparent] [backcolor=transparent]+[backcolor=transparent] userAgent[backcolor=transparent]);
  6. [backcolor=transparent]  [backcolor=transparent]}

示例一:
  1. [backcolor=transparent]  java[backcolor=transparent].[backcolor=transparent]lang[backcolor=transparent].[backcolor=transparent]IllegalArgumentException[backcolor=transparent]:[backcolor=transparent] HTTP parameters may [backcolor=transparent]not[backcolor=transparent] be [backcolor=transparent]null
  2. [backcolor=transparent]    at org[backcolor=transparent].[backcolor=transparent]apache[backcolor=transparent].[backcolor=transparent]http[backcolor=transparent].[backcolor=transparent]params[backcolor=transparent].[backcolor=transparent]HttpProtocolParams[backcolor=transparent].[backcolor=transparent]getUserAgent[backcolor=transparent]([backcolor=transparent]HttpProtocolParams[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]150[backcolor=transparent])
  3. [backcolor=transparent]    at org[backcolor=transparent].[backcolor=transparent]apache[backcolor=transparent].[backcolor=transparent]http[backcolor=transparent].[backcolor=transparent]impl[backcolor=transparent].[backcolor=transparent]client[backcolor=transparent].[backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]isMoMMS[backcolor=transparent]([backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]790[backcolor=transparent])
  4. [backcolor=transparent]    at org[backcolor=transparent].[backcolor=transparent]apache[backcolor=transparent].[backcolor=transparent]http[backcolor=transparent].[backcolor=transparent]impl[backcolor=transparent].[backcolor=transparent]client[backcolor=transparent].[backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]execute[backcolor=transparent]([backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]563[backcolor=transparent])
  5. [backcolor=transparent]    at org[backcolor=transparent].[backcolor=transparent]apache[backcolor=transparent].[backcolor=transparent]http[backcolor=transparent].[backcolor=transparent]impl[backcolor=transparent].[backcolor=transparent]client[backcolor=transparent].[backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]execute[backcolor=transparent]([backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]520[backcolor=transparent])
  6. [backcolor=transparent]    at org[backcolor=transparent].[backcolor=transparent]apache[backcolor=transparent].[backcolor=transparent]http[backcolor=transparent].[backcolor=transparent]impl[backcolor=transparent].[backcolor=transparent]client[backcolor=transparent].[backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]execute[backcolor=transparent]([backcolor=transparent]AbstractHttpClient[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]498[backcolor=transparent])
  7. [backcolor=transparent]    at com[backcolor=transparent].[backcolor=transparent]g[backcolor=transparent].[backcolor=transparent]utils[backcolor=transparent].[backcolor=transparent]HttpClientUtil[backcolor=transparent].[backcolor=transparent]post[backcolor=transparent]([backcolor=transparent]HttpClientUtil[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]99[backcolor=transparent])
  8. [backcolor=transparent]    at com[backcolor=transparent].[backcolor=transparent]g[backcolor=transparent].[backcolor=transparent]utils[backcolor=transparent].[backcolor=transparent]LoadDataFromServer$2[backcolor=transparent].[backcolor=transparent]run[backcolor=transparent]([backcolor=transparent]LoadDataFromServer[backcolor=transparent].[backcolor=transparent]java[backcolor=transparent]:[backcolor=transparent]195[backcolor=transparent])

因为参数为空导致获取字符集失败抛出的异常。
在这个例子里,getUserAgent因为userAgent变量为空所以报错。User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

展开
收起
猫饭先生 2017-10-25 10:36:03 1583 分享 版权
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: