起こりがちなJavaの「ランタイムエラー」とその回避方法を把握しておくことは重要だ。特に頻出する、入力値に基づくランタイムエラーとその解決策を紹介する。
その名が示す通り「ランタイムエラー」(実行時エラー)は、アプリケーション実行中に発生するエラーだ。アプリケーションが所定の要件から逸脱した不適切な動作をするときは、ランタイムエラーが発生している可能性がある。
プログラミング言語および実行・開発環境「Java」のランタイムエラーでアプリケーションが急停止した場合、Javaエンジニアは何をすればよいのか。本連載は、Javaエンジニアが遭遇しやすいランタイムエラーの5つの原因と、それに対処する手順や戦略を解説する。
エンドユーザーの入力がアプリケーションの不適切な動作を招く例は、数え切れないほど存在する。Web掲示板が、エンドユーザーの入力した不等号(「<」「>」)などの特殊文字をそのまま受け取った際、意図しない内容を表示してしまうのが典型的な例だ。標準的な文字コード「ASCII」準拠の入力しか受け取らないことを想定したテキスト処理アプリケーションが、絵文字や規格外の文字列を受け取った場合、停止してしまう例もある。
アプリケーションの入力欄に実行可能なデータベース操作クエリを入力する「SQLインジェクション」も主な例だ。SQLインジェクションはアプリケーションの停止だけでなく、アプリケーションのデータ制御を攻撃者に明け渡す危険性もある。
こうした事態を避けるには、入力される可能性がある全種類のデータを、アプリケーションが解釈できる安全な値に変換する「サニタイズ」が欠かせない。Javaによるアプリケーション開発では、開発者は「Apache BVal」「Hibernate Validator」などのライブラリ(プログラム部品群)を用いることでサニタイズを実装可能だ。
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
2024年の消費者購買行動変化 「日本酒」に注目してみると……
2023年と比較して2024年の消費者の購買行動にはどのような変化があったのか。カタリナマ...
FacebookやXなど主要SNSで進む「外部リンク制限」の実態 唯一の例外は?
ソーシャルメディアはかつてWebサイトへの重要な流入経路であった。しかし、最近は各プラ...
生成AIとAR/VRで失った個性を取り戻す――2025年のSNS大予測(Instagram編)
万能だが特徴のはっきりしない「何でも屋」と化したInstagram。2025年の進化の方向性を予...