JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: C++ ユーザーズガイド
search filter icon
search icon

ドキュメントの情報

はじめに

パート I C++ コンパイラ

1.  C++ コンパイラの紹介

2.  C++ コンパイラの使用方法

3.  C++ コンパイラオプションの使い方

パート II C++ プログラムの作成

4.  言語拡張

5.  プログラムの編成

6.  テンプレートの作成と使用

7.  テンプレートのコンパイル

8.  例外処理

9.  プログラムパフォーマンスの改善

10.  マルチスレッドプログラムの構築

パート III ライブラリ

11.  ライブラリの使用

12.  C++ 標準ライブラリの使用

13.  従来の iostream ライブラリの使用

14.  複素数演算ライブラリの使用

14.1 複素数ライブラリ

14.1.1 複素数ライブラリの使用方法

14.2 complex 型

14.2.1 complex クラスのコンストラクタ

14.2.2 算術演算子

14.3 数学関数

14.4 エラー処理

14.5 入出力

14.6 混合演算

14.7 効率

14.8 複素数のマニュアルページ

15.  ライブラリの構築

パート IV 付録

A.  C++ コンパイラオプション

B.  プラグマ

用語集

索引

14.4 エラー処理

複素数ライブラリでは、エラー処理が次のように定義されています。

extern int errno;
class c_exception {...};
int complex_error(c_exception&);

外部変数 errno は C ライブラリの大域的なエラー状態です。errno は、標準ヘッダー errno.h (perror(3) のマニュアルページを参照) にリストされている値を持ちます。errno には、多くの関数でゼロ以外の値が設定されます。

ある特定の演算でエラーが起こったかどうか調べるには、次のようにしてください。

  1. 演算実行前に errno をゼロに設定する。

  2. 演算終了後に値を調べる。

関数 complex_errorc_exception 型の参照引数を持ち、次に示す複素数ライブラリ関数に呼び出されます。

デフォルトの complex_error はゼロを返します。ゼロが返されたということは、デフォルトのエラー処理が実行されたということです。ユーザーは独自の complex_error 関数を作成して、別のエラー処理を行うことができます。エラー処理については、cplxerr(3CC4) のマニュアルページで説明しています。

デフォルトのエラー処理については、cplxtrig(3CC4) と cplxexp(3CC4) のマニュアルページを参照してください。次の表にも、その概要を掲載しています。

複素数ライブラリ関数
デフォルトエラー処理
exp
オーバーフローが起こった場合は errno ERANGE に設定し、最大複素数を返します。
log、log10
引数がゼロの場合は errno EDOM に設定し、最大複素数を返します。
sinh、cosh
引数の虚部によりオーバーフローが起こる場合は複素数ゼロを返します。引数の実部によりオーバーフローが起こる場合は最大複素数を返します。どちらの場合も errnoERANGE に設定されます。