Exception
日本語 | 例外クラス |
英語 | exception |
ふりがな | えくせぷしょん |
フリガナ | エクセプション |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.lang.Exception。
例外クラスのスーパークラス。
主な例外の親に当たる例外。逆に言うと、このクラスのサブクラスが「例外」と呼ばれるクラスということになる。
よってExceptionクラス及びサブクラスは、throwやcatchに使用できる「特別なクラス」として扱われる。
「どのような例外か」を説明する文字列や、「本当の発生源」の例外を格納することができる。
自分で例外を新たに宣言・定義する場合には、このExceptionクラスのサブクラスとして宣言する。
実際には、このクラスはThrowableクラスのサブクラスであり、例外としての機能のほとんどはThrowableクラスで実装されているが、Throwableクラスの性質を考えると「例外のスーパークラス」はやはりExceptionクラスと言えるだろう。
例外クラスのスーパークラス。
主な例外の親に当たる例外。逆に言うと、このクラスのサブクラスが「例外」と呼ばれるクラスということになる。
よってExceptionクラス及びサブクラスは、throwやcatchに使用できる「特別なクラス」として扱われる。
「どのような例外か」を説明する文字列や、「本当の発生源」の例外を格納することができる。
自分で例外を新たに宣言・定義する場合には、このExceptionクラスのサブクラスとして宣言する。
実際には、このクラスはThrowableクラスのサブクラスであり、例外としての機能のほとんどはThrowableクラスで実装されているが、Throwableクラスの性質を考えると「例外のスーパークラス」はやはりExceptionクラスと言えるだろう。
参考サイト
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// とりあえず投げてみます。
try
{
// Exceptionを投げます。
throw new Exception();
}
catch( Exception e )
{
// 投げられたExceptionを拾いました。
e.printStackTrace();
// java.lang.Exception
// at Sample.main(Sample.java:10)
}
// 文字列をメッセージとして格納する例。
try
{
// 「どんな例外か」を文字列として
// 格納することもできます。
throw new Exception( "やべっ!" );
}
catch( Exception e )
{
// 投げられたExceptionを拾いました。
e.printStackTrace();
// java.lang.Exception: やべっ!
// at Sample.main(Sample.java:25)
}
// 他の例外を格納する例。
try
{
try
{
// NullPointerExceptionを投げます。
throw new NullPointerException();
}
catch( NullPointerException e )
{
// 投げられたNullPointerExceptionを拾いました。
e.printStackTrace();
// java.lang.NullPointerException
// at Sample.main(Sample.java:41)
// さらに例外を投げます。その際、今受け取った
// 例外を「原因」として渡します。
throw new Exception( e );
}
}
catch( Exception e )
{
// 投げられたExceptionを拾いました。
e.printStackTrace();
// java.lang.Exception: java.lang.NullPointerException
// at Sample.main(Sample.java:52)
// Caused by: java.lang.NullPointerException
// at Sample.main(Sample.java:41)
// このように、元々の例外の情報も格納されています。
}
// Exceptionがスーパークラスの例。
try
{
// NullPointerExceptionを投げます。
throw new NullPointerException();
}
catch( Exception e )
{
// 投げられたNullPointerExceptionを拾いました。
e.printStackTrace();
// java.lang.NullPointerException
// at Sample.main(Sample.java:70)
// このように、Exceptionは例外のスーパークラスなので
// とりあえずExceptionで拾うことができます。
}
// 自分で作った例外クラスの使用例。
try
{
// NewExceptionを投げます。
throw new NewException();
}
catch( NewException e )
{
// 投げられたNewExceptionを拾いました。
e.printStackTrace();
// NewException
// at Sample.main(Sample.java:86)
}
}
}
/**
* 新しい自分専用例外クラス。
*/
class NewException extends Exception
{
}
public class Sample
{
public static void main( String[] args )
{
// とりあえず投げてみます。
try
{
// Exceptionを投げます。
throw new Exception();
}
catch( Exception e )
{
// 投げられたExceptionを拾いました。
e.printStackTrace();
// java.lang.Exception
// at Sample.main(Sample.java:10)
}
// 文字列をメッセージとして格納する例。
try
{
// 「どんな例外か」を文字列として
// 格納することもできます。
throw new Exception( "やべっ!" );
}
catch( Exception e )
{
// 投げられたExceptionを拾いました。
e.printStackTrace();
// java.lang.Exception: やべっ!
// at Sample.main(Sample.java:25)
}
// 他の例外を格納する例。
try
{
try
{
// NullPointerExceptionを投げます。
throw new NullPointerException();
}
catch( NullPointerException e )
{
// 投げられたNullPointerExceptionを拾いました。
e.printStackTrace();
// java.lang.NullPointerException
// at Sample.main(Sample.java:41)
// さらに例外を投げます。その際、今受け取った
// 例外を「原因」として渡します。
throw new Exception( e );
}
}
catch( Exception e )
{
// 投げられたExceptionを拾いました。
e.printStackTrace();
// java.lang.Exception: java.lang.NullPointerException
// at Sample.main(Sample.java:52)
// Caused by: java.lang.NullPointerException
// at Sample.main(Sample.java:41)
// このように、元々の例外の情報も格納されています。
}
// Exceptionがスーパークラスの例。
try
{
// NullPointerExceptionを投げます。
throw new NullPointerException();
}
catch( Exception e )
{
// 投げられたNullPointerExceptionを拾いました。
e.printStackTrace();
// java.lang.NullPointerException
// at Sample.main(Sample.java:70)
// このように、Exceptionは例外のスーパークラスなので
// とりあえずExceptionで拾うことができます。
}
// 自分で作った例外クラスの使用例。
try
{
// NewExceptionを投げます。
throw new NewException();
}
catch( NewException e )
{
// 投げられたNewExceptionを拾いました。
e.printStackTrace();
// NewException
// at Sample.main(Sample.java:86)
}
}
}
/**
* 新しい自分専用例外クラス。
*/
class NewException extends Exception
{
}
// Sample.java public class Sample { public static void main( String[] args ) { // とりあえず投げてみます。 try { // Exceptionを投げます。 throw new Exception(); } catch( Exception e ) { // 投げられたExceptionを拾いました。 e.printStackTrace(); // java.lang.Exception // at Sample.main(Sample.java:10) } // 文字列をメッセージとして格納する例。 try { // 「どんな例外か」を文字列として // 格納することもできます。 throw new Exception( "やべっ!" ); } catch( Exception e ) { // 投げられたExceptionを拾いました。 e.printStackTrace(); // java.lang.Exception: やべっ! // at Sample.main(Sample.java:25) } // 他の例外を格納する例。 try { try { // NullPointerExceptionを投げます。 throw new NullPointerException(); } catch( NullPointerException e ) { // 投げられたNullPointerExceptionを拾いました。 e.printStackTrace(); // java.lang.NullPointerException // at Sample.main(Sample.java:41) // さらに例外を投げます。その際、今受け取った // 例外を「原因」として渡します。 throw new Exception( e ); } } catch( Exception e ) { // 投げられたExceptionを拾いました。 e.printStackTrace(); // java.lang.Exception: java.lang.NullPointerException // at Sample.main(Sample.java:52) // Caused by: java.lang.NullPointerException // at Sample.main(Sample.java:41) // このように、元々の例外の情報も格納されています。 } // Exceptionがスーパークラスの例。 try { // NullPointerExceptionを投げます。 throw new NullPointerException(); } catch( Exception e ) { // 投げられたNullPointerExceptionを拾いました。 e.printStackTrace(); // java.lang.NullPointerException // at Sample.main(Sample.java:70) // このように、Exceptionは例外のスーパークラスなので // とりあえずExceptionで拾うことができます。 } // 自分で作った例外クラスの使用例。 try { // NewExceptionを投げます。 throw new NewException(); } catch( NewException e ) { // 投げられたNewExceptionを拾いました。 e.printStackTrace(); // NewException // at Sample.main(Sample.java:86) } } } /** * 新しい自分専用例外クラス。 */ class NewException extends Exception { }
「みだし」に含まれているページ
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- ClassCastException
- ClassNotFoundException
- CloneNotSupportedException
- EOFException
- Exception
- ExceptionInInitializerError
- FileNotFoundException
- IllegalArgumentException
- IndexOutOfBoundsException
- InterruptedException
- InvocationTargetException
- IOException
- JasperException
- NoSuchElementException
- NullPointerException
- NumberFormatException
- RuntimeException
- ServletException
- SQLException
- StringIndexOutOfBoundsException
「解説」に含まれているページ
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayList
- ArrayStoreException
- ByteArrayInputStream
- ByteArrayOutputStream
- catch
- Caused by
- ClassCastException
- ClassNotFoundException
- clone
- Cloneable
- CloneNotSupportedException
- DataInputStream
- EOF
- EOFException
- Exception
- exception
- ExceptionInInitializerError
- FileNotFoundException
- HashMap
- IllegalArgumentException
- IndexOutOfBoundsException
- InterruptedException
- InvocationTargetException
- IOException
- JasperException
- java.lang
- NoSuchElementException
- null
- NullPointerException
- NumberFormatException
- Object
- ResultSet
- RuntimeException
- ServletException
- SQLException
- StringIndexOutOfBoundsException
- substring
- Throwable
- throws
- ぬるぽ
- サフィックス
- ダウンキャスト
- バイト入力ストリーム
- バイト出力ストリーム
- バッファアンダーラン
- バッファオーバーフロー
- バッファオーバーラン
- ランタイムエラー
- 例外
- 例外処理
- 文字入力ストリーム
- 文字出力ストリーム
「サンプルプログラムとか」に含まれているページ
- %演算子
- ,
- /演算子
- 127.0.0.1
- <%! %>
- <%= %>
- <%@ page errorPage
- <%@ page import
- <%@ page isErrorPage
- <jsp:useBean>
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayList
- ArrayStoreException
- ASCII
- assert
- BufferedInputStream
- BufferedOutputStream
- BufferedReader
- BufferedWriter
- catch
- Caused by
- CharArrayReader
- CharArrayWriter
- Class
- ClassCastException
- classesディレクトリ
- ClassNotFoundException
- clone
- Cloneable
- CloneNotSupportedException
- close
- Connection
- Cookie
- CP932
- CREATE TABLE
- DataInputStream
- DataOutputStream
- DELETE
- doGet
- DOM
- doPost
- DTD
- EOF
- EOFException
- EUC
- EUC-JP
- Exception
- ExceptionInInitializerError
- execute
- File
- FileInputStream
- FileNotFoundException
- FileOutputStream
- FileReader
- FileWriter
- FilterInputStream
- FilterOutputStream
- FilterReader
- FilterWriter
- finally
- GET
- getBytes
- HashMap
- HEAD
- HTTP
- HttpServlet
- HttpServletRequest
- HttpServletResponse
- HttpSession
- HttpURLConnection
- IANA
- IllegalArgumentException
- IndexOutOfBoundsException
- InputStream
- InputStreamReader
- INSERT
- InterruptedException
- InvocationTargetException
- IOException
- IPアドレス
- ISO-10646-UCS-2
- ISO-2022-JP
- ISO-8859-1
- Jasper
- JasperException
- java.net.URL
- java.sql.Date
- JavaBeans
- JDBC
- JDBCドライバ
- JSP
- JSP宣言
- JSP式
- JSP暗黙オブジェクト「exception」
- JSP暗黙オブジェクト「request」
- JSP暗黙オブジェクト「session」
- LineNumberInputStream
- LineNumberReader
- localhost
- Logger
- Node
- NoSuchElementException
- NOT NULL制約
- null
- NullPointerException
- NumberFormatException
- Object
- ObjectInputStream
- ObjectOutputStream
- OutputStream
- OutputStreamWriter
- PipedInputStream
- PipedOutputStream
- PipedReader
- PipedWriter
- POST
- PreparedStatement
- printStackTrace
- PrintStream
- PushbackInputStream
- PushbackReader
- Reader
- RequestDispatcher
- ResultSet
- RSS
- Rss4j
- Runnable
- Runtime
- RuntimeException
- SELECT
- SequenceInputStream
- Serializable
- ServletConfig
- ServletContext
- ServletException
- Shift_JIS
- sleep
- SQL
- SQLException
- SQLインジェクション
- StackOverflowError
- Statement
- StringBufferInputStream
- StringIndexOutOfBoundsException
- StringReader
- StringWriter
- substring
- synchronizedブロック
- synchronizedメソッド
- TCP
- Thread
- throw
- Throwable
- throws
- Timestamp
- transient
- try
- UCS-2
- UDP
- Unicode
- UPDATE
- URI
- URL
- URLDecoder
- URLEncoder
- US-ASCII
- UTF-8
- volatile
- web.xml
- WHERE
- Windows-31J
- Writer
- Xerces
- XML
- ZIP
- 「-」
- 「~」
- ぬるぽ
- インデックスナンバー
- イントロスペクション
- エイリアス
- エラー
- エラーハンドラ
- エンコーディング
- エンコード
- カスタムタグライブラリ
- キャッシュ
- キャッチ
- クエリー
- クッキー
- クライアント
- クライアントサーバーシステム
- クロスサイトスクリプティング
- コネクション
- コミット
- コンパイルタイムエラー
- サニタイジング
- サーバー
- サーブレット
- シフトJIS
- ショートサーキット
- スタックトレース
- ステートレス
- スレッド
- セッション
- セッションID
- セッションスコープ
- ソケット
- ソート
- ダウンキャスト
- ダンプ
- テキストファイル
- テーブル
- ディレクトリ
- ディレクトリトラバーサル
- デコード
- デッドロック
- デバッガ
- デバッグ
- データベース
- トランザクション
- ドメイン名
- ハンドラ
- バイト入力ストリーム
- バイト出力ストリーム
- バイナリーファイル
- バグ
- バッファアンダーフロー
- バッファアンダーラン
- バッファオーバーフロー
- バッファオーバーラン
- ファイル
- フラッシュ
- ブロックします
- プリペアードステートメント
- プロパティファイル
- ホスト
- ポート番号
- マルチスレッド
- ランタイムエラー
- リクエスト
- リクエストスコープ
- リクエストパラメーター
- リクエストヘッダー
- リフレクション
- ルート
- レコード
- レスポンス
- レスポンスヘッダー
- ログファイル
- ロック
- ロールバック
- 丸数字
- 主キー
- 例外
- 例外処理
- 入力フォーム
- 列
- 制約
- 半角カタカナ
- 可変長配列
- 同期
- 変数宣言
- 契約による設計
- 投げられる
- 投げる
- 拾う
- 排他
- 改行文字
- 文字コード
- 文字入力ストリーム
- 文字出力ストリーム
- 文字化け
- 標準入出力
- 浅いコピー
- 深いコピー
- 環境変数
- 直列化
- 行
- 配列