[CPP] throw() の意味

TOPPERS/JSPのヘッダーファイルなどに throw() の記述が多用されています。
この記述は『無例外保証(no-throw guarantee)』と呼ばれる「例外は投げません」という意味です。

(例) kernel.h

 

TOPPERS/JSPの付属ドキュメント "doc/c++.txt"

3.5 サービスコールの例外指定
TOPPERS/JSPカーネルが提供する全サービスコールは例外をスローすることがないため、例外指定throw()が付加される。これにより、例外処理のためのテーブルが生成されることを最小限に抑えられる場合があり、主として空間効率の向上が期待できる。

 

下記のように記述すると「int型 または double型 の例外を送出する」という意味になります。

() の中身が空なので、「例外は送出しません」という意味(コンパイラ最適化)となります。

Reference

本の虫 江添亮のブログ『C++の例外指定』