Windowsエラーメッセージ実装ガイド

[cover photo]
この商品は品切れ再入荷未定です

本書は、これからのソフトウェアにとってエラーメッセージがいかに重要かを、そしてどのように実装すればよいかを豊富な事例で解説しています。著者の開発したパブリックドメインのライブラリを利用することにより、HTMLなどの最新情報を駆使した人にやさしいエラーメッセージを実現します。これまでに多く語られてきた「どのようにコーディングすれば動作するのか」、「上手に使うにはどうすればよいか」というようなテーマではなく、「どのようなソフトウェアを作るべきか」を示した開発者必携の書です

訳者まえがき
はじめに

1章 エラーメッセージの誤り
        1.1 最高のエラーメッセージですら、かくも貧弱なのか
        1.2 エラーメッセージを愛して憎んで
        1.3 エラーメッセージの機能
        1.4 エラーメッセージの要素
                1.4.1 通知 (notification)
                1.4.2 説明 (explanation)
                1.4.3 解決方法 (solution)
        1.5 エラーメッセージを作り、用意し、評価する
                1.5.1 エラーメッセージの創造
        1.6 エラーメッセージを改善するには
                1.6.1 エラーメッセージに知恵の光を
                1.6.2 エラーメッセージとエラーハンドリングを決める
        1.7 意図的ではないエラーメッセージ
        1.8 誤解されるエラーメッセージ
        1.9 悪評高いエラーメッセージ
                1.9.1   おわび

2章 エラーの予防
        2.1 エラーと失敗
                2.1.1 失敗の変遷
                2.1.2 失敗の対策
                2.1.3 失敗の特徴
        2.2 エクスターナルエラーのハンドリング
                2.2.1 失敗の認識
                2.2.2 失敗の応答に対応して処理する
                2.2.3 ユーザへの助言
                2.2.4 C++を用いてユーザのための表示を実現する
                2.2.5 Visual Basicを用いてユーザのための表示を実現する
                2.2.6 失敗の自立的な取り扱い
        2.3 ユーザエラーの取り扱い
                2.3.1 単純な誤りによるエラー
                2.3.2 一致するものの探索
                2.3.3 部分的な入力の一致
                2.3.4 エラーの予防と対応の重要度を判断する
                2.3.5 誤解によるエラー
        2.4 訂正の選択肢
                2.4.1 ノンモーダルポップアップウィンドウ
                2.4.2 C++によるノンモーダルポップアップウィンドウ
                2.4.3 VBによるノンモーダルポップアップウィンドウ
                2.4.4 ポップアップメニュー
                2.4.5 C++を用いたポップアップメニューの作成
                2.4.6 VBを用いたポップアップメニューの作成
                2.4.7 他の方法
                2.4.8 人工無脳
                2.4.9 学習するアプリケーション
                2.4.10 アプリケーションを評価するときにエラーも評価する

3章 人にやさしいエラー表示
        3.1   よりよいエラーメッセージ
                3.1.1 INFORMATION(情報)メッセージ
                3.1.2 そのエラー表示は必要ですか?
                3.1.3 RETRY_ERROR(リトライ)メッセージ
                3.1.4 USER_ERROR(ユーザ)メッセージ
                3.1.5 NON_CRITICAL(深刻でない)メッセージ
                3.1.6 SEVERE_ERROR(切断/深刻な)メッセージ
                3.1.7 POPUP_MESSAGE(ポップアップ)メッセージ
        3.2 表示の選択肢
                3.2.1 RTFメッセージ
                3.2.2 MFCによるRTFメッセージ
                3.2.3 VBによるRTFメッセージ
                3.2.4 HTMLメッセージ
                3.2.5 HTMLを利用するメリット
                3.2.6 HTMLのデメリット
                3.2.7 ハイブリッドメッセージ

4章 エラートラッキングとサポート
        4.1 イベントログ
                4.1.1 簡単なイベントログの生成
                4.1.2 逃げ口上を含める
                4.1.3 エラー記憶機能
                4.1.4 技術サポートへのデータの報告
                4.1.5 より洗練されたイベントレコードの設計
                4.1.6 イベントレコードデータベース
                4.1.7 BLOBフィールド
                4.1.8 BLOBとMFC
                4.1.9 BLOBとVB
                4.1.10 RTFのActiveXコントロール
                4.1.11 16進フォーマットのActiveXコントロール
                4.1.12 文字列フィールドの代替方法
                4.1.13 なぜ文字列やRTFファイルなどを含めるのか?
                4.1.14 多彩なイベント記録フィールド
                4.1.15 ソース識別子
                4.1.16 オペレータ
                4.1.17 アプリケーションのバージョン
                4.1.18 システムバージョンと他の情報
                4.1.19 他のハードウェアやシステムの特徴
        4.2 オンラインドキュメントとインターネットサポート
                4.2.1 オンラインドキュメントの選択肢
                4.2.2 Windowsヘルプファイル
                4.2.3 RTFソース
                4.2.4 HTMLソース
                4.2.5 HTMLとIE.OCXコントロール
                4.2.6 IEのWebBrowser コントロールをVBで利用する
                4.2.7 VBからIEをコントロールする
                4.2.8 IEのWebBrowserコントロールをVisual C/C++で利用する
                4.2.9 IEのWebBrowserを内部で使用する
                4.2.10 IEのWebBrowserをダイアログ内で使用する
                4.2.11 美しいバラにはとげがある
                4.2.12 WebBrowser色彩感覚は?
                4.2.13 それではActiveXを使用すれば……
                4.2.14 他の検討すべき点
                4.2.15 インターネットを利用する
                4.2.16 カスタムインターネットコネクション
                4.2.17 HTMLエディタの選択

付録A ErrorMessage DLLの使い方
        A.1 メッセージ表示の種類
        A.2 イベントメッセージファンクションの呼び出し方
                A.2.1 戻り値
        A.3 ポップメッセージ
        A.4 プログラミング時の注意
                A.4.1 AfxGetStaticModuleState
                A.4.2 char配列からCStringメンバへの変換
                A.4.3 コンパイラによる特異な問題
付録B ErrorMessageとErrorShell DLLの内部構造
        B.1 ErrorMessage.DLL
                B.1.1 ErrorMessage DLLの初期化
                B.1.2 イベントレポート構造体:MFC版
                B.1.3 イベントレポート構造体:非MFC版
                B.1.4 MFCクラスを使用したエクスポート関数の必要条件
                B.1.5 関数のエクスポート:MFC版
                B.1.6 関数のエクスポート:非MFC版
                B.1.7 CErrorReportクラス
                B.1.8 キャプションの変更
                B.1.9 エラーログの場所を登録
                B.1.10 イベントレコードの記録
                B.1.11 代替方法
                B.1.12 カスタマイズしたメッセージダイアログの表示
                B.1.13 エラーログオプション
                B.1.14 ダイアログクラスの内部処理
                B.1.15 ポップアップウィンドウメッセージ
                B.1.16 CPopupWndの内部
                B.1.17 ポップアップウィンドウの生成
                B.1.18 GetMessageSize
                B.1.19 OnPaint
                B.1.20 ポップアップメニューを閉じる
                B.1.21 さまざまな応答を利用する
        B.2 ErrorShell.DLL
                B.2.1 VB Demo2プログラム
付録C プラグ&プレイのイベントメッセージをトラップ
        C.1 なぜPnPのメッセージをトラップするのか
        C.2 どのようにPnPのメッセージをトラップするのか
        C.3 他の特別なイベント
索 引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]