)#
( 例外指定に対する違反
( クラス
Q
P 3 Q
3
P &
P P 0 &
P 0 % P 0 &
XP &
! &
R&
R
クラス は,例外指定をもつ関数が,指定されていない例外を送出した場合に送出する型( ## )
を定義する。
効果 クラス のオブジェクトを生成する。
参考 新たに生成されたオブジェクトに対して を呼び出した結果は,処理系定義とする。
)
) , )
効果 クラス のオブジェクトをコピーする。
! $
返却値 処理系定義の )+4/。
参考 に変換可能であって, として表示可能な( 及び # 参照)ナル文字で終端
した多バイト文字列( ) )であってもよい。返却値は,例外オブジェクトが解体されるか 又は
例外オブジェクトの非定値メンバ関数が呼び出されるまで,有効である。
( 型
! $
関数が例外指定に書かれていない例外を送出しようとした場合, によって呼び出されるハンド ラ関
数の型を表す。
必須動作 は,戻ってはならない( ## 。
参照)
既定の動作 処理系の既定の は, を呼ぶ。
(
効果 が指す関数を,新たな とする。
条件 は空ポインタであってはならない。
返却値 直前の の値。
(
!
関数が,例外指定に書かれていない例外によって終了しようとしたとき,処理系から呼び出される( ## 。
参照)
プログラムから直接呼ぶこともできる。
効果 動作は次のとおりとする。
― 処理系から呼び出された場合,< 式( ( )を評価した直後に を呼ぶ。
― プログラムから呼び出された場合,その時点の を呼ぶ。
( 異常終了
――――― [JIS X 3014 pdf 276] ―――――
)(
7
2019 年
月 1 日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格(日本産業規格)」を「日本産業規格」に読み替えてください。
( 型
! $
例外処理を強制終了する場合に, から呼び出されるハンド ラ関数の型を表す。
必須動作 は,呼出し側に戻ることなく,プログラムの実行を終了させなければならない。
既定の動作 処理系の既定の は, を呼ぶ。
(
効果 が指す関数を,例外処理を終了するための新たなハンド ラ関数とする。
条件 は空ポインタであってはならない。
返却値 直前の の値。
(
!
なんらかの理由で,例外処理を中止しなければならない場合に,処理系によって呼び出される関数を表す( ##
。プログラムから直接呼ぶこともできる。
参照)
効果 動作は次のとおりとする。
― 処理系から呼び出された場合,< 式( ( )を評価した直後に, を呼ぶ。
― プログラムから呼び出された場合,その時点の を呼ぶ。
(
返却値 次のいずれかの期間にある間は, とする。
― < 式の評価が完了してから,合致するハンド ラの例外宣言の初期化が終了するまで 又は その送出の
結果として に入るまで。
― に入った後。明示的に呼び出した場合を除く。
参考 この期間は,スタックの巻戻し( # )を含む。
参考 が である間に例外を送出すると, ( ## )が呼び出される。
) 他の実行時支援 ヘッダ (可変実引数), (通常の飛越し ), (システムの時刻
及び ), (シグナル操作) 並びに ( 実行時環境 及び )
を示す。
表 * ヘッダ の一覧
種別 名前
マクロ
型
表 ヘッダ の一覧
種別 名前
マクロ
型
関数
表 ヘッダ の一覧
種別 名前
マクロ 7・B7>F C8E F87
型
関数
――――― [JIS X 3014 pdf 277] ―――――
))
表 ヘッダ の一覧
種別 名前
マクロ F<:6"E F<:<・・ F<:F8:H F<: #9・
F<: <:A F<:9C8 F<:<A F<:8E@ F<: 8EE
型
関数
表 ヘッダ の一覧
種別 名前
関数
, , , , は ,それぞれ (,
標準 " ライブ ラリの
(,(,(,( と同じとする。ただし,次の変更がある。
( 中のマクロ の第 仮引数に対する制限は,6 と異なる。この規格では,仮引
数 最終仮引数 に対応する仮引数は,関数定義中の可変個数の仮引数並びの中で最右端にある識別子( ((( の直前にあ
の
るもの )とする。更に,最終仮引数 が次のいずれかの型の場合,その動作は未定義とする( 6
。
参照)
― 関数型
― 配列型
― 参照型
― 対応する仮引数が宣言されていない実引数の場合に起こる,型変換後の型と適合しない型
この規格での関数 の動作は,次のとおり,より制限されている。ある場所で
例外が送出され制御がプログラムの別の場所( 飛び先)に移り,そこで自動オブジェクトが解体されるとする。その例
外送出と同じ場所で,同じ飛び先に制御を移す を呼び出した場合,その動作は未定義とする。
6 の ),) ,)( 及び ) 参照。
" と "## の共通部分集合は,適格な "## プログラム 及び 適格な " プログラムの両方に現れることのできる宣
言,定義,式から構成される。" 互換関数
2O 1 3 とは,共通部分集合の機能だけを使用した関数
であって,直接にも間接にも " 互換関数以外の関数を使用しないものとする。すべてのシグナル処理ルーチンは,"
結合をもたなければならない。" 標準に適合する " プログラムでシグナル処理ルーチンとして使うことのできる "
互換関数は,"## プログラムでシグナル処理ルーチンとして使った場合に動作が未定義となってはならない。"##
プログラムのシグナル処理ルーチンとして他の関数を使った場合の動作は,処理系定義とする 。
* 診断ライブラリ この箇条では,"## プログラムがエラーを検出して報告するために利用できるライブラリ
要素を規定する。
** では,表 にあるように,ある種の例外条件の報告,プログラム表明の記録 及び エラー番号用の大
域的変数として利用する要素について規定する。
表 診断ライブラリの要約
箇条 ヘッダ
* 例外クラス
* 表明
* エラー番号
* 例外クラス 標準 "## ライブラリは,"## プログラムにおけるある種のエラー( ) )を報告するの
に使われるクラスを提供する。これらのクラスに反映されるエラーは,論理エラー 及び 実行時エラーの二つに大別
される。
論理エラーの特徴は,プログラムの内部的論理によって引き起こされる点にある。理論的には,論理エラーは回避
可能である。
注 特に,例外ハンド ラを用いるシグナル処理ルーチンは,問題を起こすことが多い。
――――― [JIS X 3014 pdf 278] ―――――
)
7
2019 年
月 1 日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格(日本産業規格)」を「日本産業規格」に読み替えてください。
これに対し,実行時エラーは,プログラムの範囲外の事象によって引き起こされる。このようなエラーを事前に予
測することは難しい。ヘッダ は,"## プログラムにおいてエラーを報告するのに使われる幾つかの型
を定義している。これらの例外は,継承によって関連付けられている。
ヘッダ 一覧
Q
P&
P&
P &
P&
PP&
P&
P&
P&
P&
R
* クラス
Q
P 3 Q
3
P 0 P &
R&
R
クラス は,プログラム実行前に検出可能であるようなエラー( 例えば ,論理的な事前条件 又は クラ
ス不変式に対する違反など )を報告するのに送出する例外オブジェクトの型を定義する。
)
効果 クラス のオブジェクトを構築する。
事後条件 ( %% . となる。
* クラス
Q
P 3 P Q
3
P 0 P &
R&
R
クラス は,ド メイン エラーを報告するのに送出する例外オブジェクトの型を定義する。
)
効果 クラス のオブジェクトを構築する。
事後条件 ( %% . となる。
* クラス
Q
P 3 P Q
3
P 0 P &
R&
R
クラス は,不正な実引数を報告するのに送出する例外オブジェクトの型を定義する。
! )
効果 クラス のオブジェクトを構築する。
事後条件 ( %% . となる。
――――― [JIS X 3014 pdf 279] ―――――
)*
* クラス
Q
P 3 P Q
3
P 0 P &
R&
R
クラス は,最大長を越えた長さのオブジェクトを生成しようとしたことを報告するのに送出する例
外オブジェクトの型を定義する。
)
効果 クラス のオブジェクトを構築する。
事後条件 ( %% . となる。
*# クラス
Q
PP 3 P Q
3
PP 0 P &
R&
R
クラス は,実引数の値が範囲外であることを報告するのに送出する例外オブジェクトの型を定義する。
)
効果 クラス クラスのオブジェクトを構築する。
事後条件 ( %% . となる。
*( クラス
Q
P 3 Q
3
P 0 P &
R&
R
クラス は,プログラムを実行しないと検出できないようなエラーを報告するのに送出する例外オ
ブジェクトの型を定義する。
)
効果 クラス のオブジェクトを構築する。
事後条件 ( %% . となる。
*) クラス
Q
P 3 P Q
3
P 0 P &
R&
R
クラス は,内部計算で発生する範囲エラーを報告するのに送出する例外オブジェクトの型を定義する。
)
効果 クラス のオブジェクトを構築する。
事後条件 ( %% . となる。
――――― [JIS X 3014 pdf 280] ―――――
次のページ PDF 281
JIS X 3014:2003の引用国際規格 ISO 一覧
- ISO/IEC 14882:2003(IDT)
JIS X 3014:2003の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語
JIS X 3014:2003の関連規格と引用規格一覧
- 規格番号
- 規格名称
- JISX0001:1994
- 情報処理用語―基本用語
- JISX0002:1987
- 情報処理用語(算術演算及び論理演算)
- JISX0003:1989
- 情報処理用語(装置技術)
- JISX0004:2002
- 情報処理用語(データの構成)
- JISX0005:2002
- 情報処理用語(データの表現)
- JISX0006:1989
- 情報処理用語(データの準備及び取扱い)
- JISX0007:2001
- 情報処理用語―プログラミング
- JISX0008:2001
- 情報処理用語―セキュリティ
- JISX0009:1997
- 情報処理用語(データ通信)
- JISX0010:1987
- 情報処理用語(操作技法及び機能)
- JISX0011:1989
- 情報処理用語(処理装置)
- JISX0012:1990
- 情報処理用語(データ媒体,記憶装置及び関連装置)
- JISX0013:1998
- 情報処理用語(図形処理)
- JISX0014:1999
- 情報処理用語―信頼性,保守性及び可用性
- JISX0015:2002
- 情報処理用語(プログラム言語)
- JISX0016:1997
- 情報処理用語(情報理論)
- JISX0017:1997
- 情報処理用語(データベース)
- JISX0018:1989
- 情報処理用語(分散データ処理)
- JISX0019:1994
- 情報処理用語―アナログ計算
- JISX0020:1992
- 情報処理用語(システム開発)
- JISX0021:1987
- 情報処理用語(プロセスインタフェース)
- JISX0022:1989
- 情報処理用語(計算器)
- JISX0023:1995
- 情報処理用語(テキスト処理)
- JISX0024:1998
- 情報処理用語(計算機統合生産)
- JISX0025:1994
- 情報処理用語―ローカルエリアネットワーク
- JISX0026:1995
- 情報処理用語(開放型システム間相互接続)
- JISX0027:1995
- 情報処理用語(オフィスオートメーション)
- JISX0028:1999
- 情報処理用語―人工知能―基本概念及びエキスパートシステム
- JISX0031:1999
- 情報処理用語―人工知能―機械学習
- JISX0032:1999
- 情報処理用語―電子メール