アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javaの例外 IllegalArgumentException ってどんなときに発生するんでしょう?
引数が正しくない場合はコンパイルで弾かれると思うのですが...。

A 回答 (1件)

> 引数が正しくない場合はコンパイルで弾かれる


確かに引数「の型」が正しくない場合はコンパイルで弾かれます。しかし、引数「に入っている値」が正しくない場合をコンパイラは感知できません。この例外はそのような事態に発生するものです。

分かりやすい実例としては String.format() でしょうか。このメソッド(ロケール指定が無い方)は第1引数に指定された書式文字列に基づいてそれ以降の引数の値を文字列化するメソッドです。
# C言語を知っているならば printf() を思い浮かべれば早いでしょう。もっとも後発言語のため Java のほうが少々高機能になっています。

この書式文字列として渡される文字列が書式文字列としておかしなものだったとき、IllegalArgumentException のサブクラスである IllegalFormatException が発生します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!