# 6.16 `curses.wrapper` -- curses プログラムのための端末ハンドラ

バージョン1.6 以降で新規追加された 仕様です。

このモジュールでは関数 `wrapper()` 一つを提供しています。 これは curses 使用アプリケーションの残りの部分となるもう一つの関数です。 アプリケーションが例外を送出した場合、`wrapper()` は スタックを整理してトレースバックを生成する前に端末を正常な状態に 復元します。

`wrapper`( | func, ...)

  curses を初期化し、別の関数 func を呼び出、エラーが発生 した場合には通常のキーボード／スクリーン動作に戻すラッパ関数です。 呼び出し可能オブジェクト func は主ウィンドウの 'stdscr' に 対する最初の引数として渡されます。その他の引数は `wrapper()` に渡されます。

フック関数を呼び出す前に、 `wrapper()` は cbreak モード をオン、エコーをオフにし、端末キーパッドを有効にします。 端末がカラーをサポートしている場合にはカラーを初期化します。 (通常終了も例外による終了も) 終了時には cooked モードに復元し、 エコーをオンにし、端末キーパッドを無効化します。