Exception Valueの解決方法【2025年最新版】
エラーの概要・症状
本記事では、
Exception Value
というエラーメッセージが表示される際の対処法について紹介します。このエラーは、主にAndroidアプリケーションやASP.NET MVCアプリケーションにおいて発生することがあります。特に、HTTP通信に関する設定ミスや不適切なリクエストデータが原因であることが多いです。エラーが発生すると、アプリケーションは正常に動作せず、ユーザーはアプリを利用できなくなります。これにより、アプリの信頼性が低下し、ユーザーからの評価にも影響を及ぼします。
エラーが表示される状況
- AndroidアプリでHTTP通信を行う際に、
Cleartext HTTP traffic not permitted
のエラーが発生する。 - ASP.NET MVCアプリでフォームデータが不正と見なされる場合、
A potentially dangerous Request.Form value was detected from the client
のエラーが表示される。
具体的な症状と影響
- Androidの場合、アプリがWebViewを利用している際に、HTTPリクエストがブロックされ、ページが読み込まれない。
- ASP.NET MVCの場合、特定の入力フィールドから不正なデータが送信されると、アプリがエラーを返し、フォームが送信できなくなる。
ユーザーの困りごと
このエラーが発生すると、ユーザーはアプリを使えなくなり、特に重要な操作が完了できない場合には大きな不満を感じます。特にビジネス用途で使用されるアプリの場合、迅速な解決が求められます。
このエラーが発生する原因
Exception Value
のエラーが発生する原因は主に以下の3つです。
1. Cleartext HTTPトラフィックの禁止
Android 9以上では、デフォルトでHTTP(クリアテキスト)トラフィックが禁止されています。これにより、HTTP通信を行おうとするとエラーが発生します。特に、WebViewを使用してHTTPリクエストを行う場合、この設定が影響を及ぼします。
2. 不正なリクエストデータ
ASP.NET MVCアプリケーションでは、ユーザーが送信するデータにおいて特定の文字(例:
<
や>
)が含まれると、セキュリティ上の理由からリクエストが拒否されます。このため、ユーザーは正しいデータを入力しているにもかかわらずエラーが発生することがあります。
3. ネットワークセキュリティ設定の不足
Androidアプリで正しくネットワークセキュリティ設定を行わないと、HTTPリクエストが通過できず、エラーが発生します。特に、
network_security_config.xml
ファイルの設定が不適切な場合、アプリは外部リソースにアクセスできません。
解決方法1(最も効果的)
手順1-1: AndroidManifest.xmlの修正
以下の手順で、Androidアプリの
AndroidManifest.xml
を修正します。
AndroidManifest.xml
を開く。<application></application>
タグ内に以下の属性を追加します。
<application
android:usesCleartextTraffic="true"
...>
network_security_config.xml
ファイルを作成し、以下の内容を記述します。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.example.com</domain>
</domain-config>
</network-security-config>
手順1-2: ネットワークセキュリティ設定の確認
res/xml/
ディレクトリ内にnetwork_security_config.xml
を保存します。<application></application>
タグ内に、次のようにandroid:networkSecurityConfig
を指定します。
<application
android:networkSecurityConfig="@xml/network_security_config"
...>
手順1-3: 注意点とトラブルシューティング
- 必ず、APIのURLがHTTPSであることを確認してください。
- 設定を変更した後は、アプリを再ビルドして実行してください。エミュレーターやデバイスのキャッシュが影響することがあるため、アプリのデータをクリアすることもおすすめです。
解決方法2(代替手段)
もし上記の方法で解決できない場合、以下の手順を試してみてください。
コメント