タグ

例外処理に関するGajuのブックマーク (6)

  • C++ 例外処理と構造化例外処理 (1) - Web/DB プログラミング徹底解説

    これまでに構造化例外処理についていくつか書きましたが、ここでは構造化例外処理が「何ではないのか」 を書くことによって、構造化例外処理に関する理解を深めたいと思います。 対比する対象は C++ 例外です。 次のコードを見てください。 #include <iostream> using namespace std; class MyClass { public: MyClass() {} void Foo() { cout << "MyClass::Foo" << endl; } }; int main(int argc, char* argv[] ) { cout << "Entering main()" << endl; try { cout << "try..." << endl; throw MyClass(); cout << "try end" << endl; } catch (

    C++ 例外処理と構造化例外処理 (1) - Web/DB プログラミング徹底解説
  • Effective Exception Handling in Visual C++

    An overview of the standard exception handling techniques provided by Visual C++. Download source code - 12.5 KB Introduction This article describes the standard techniques of handling exceptions and errors in Visual C++ programs running in Windows. An exception (or a critical error, or crash) typically means your program stops working normally and needs to stop its execution. For example, an exce

    Effective Exception Handling in Visual C++
  • _seh_filter_dll, _seh_filter_exe

  • _XcptFilter

    される例外および関連するアクションを指定します。 int __cdecl _XcptFilter( unsigned long xcptnum, PEXCEPTION_POINTERS pxcptinfoptrs ); パラメーター [入力] xcptnum 例外の識別子。 [入力] pxcptinfoptrs 例外情報へのポインター。 戻り値 されるアクションを示す例外処理の結果に基づいて整数。 解説 このメソッドは ステートメントとを除く の例外フィルター式によって呼び出されます。メソッドは例外を識別し適切なアクションを確認するに _XcptActTab[] のテーブルを参照します。_XcptActTab[] は定数で次の表に示すように定義されています。例外の数は winnt.h で定義されシグナル カウントを signal.h で定義されます。 例外の数 (符号なし長) シグナル カ

    _XcptFilter
  • Windowsでの例外処理

    Windowsでは、例外はプログラムの実行中に発生するイベントです。例外には、ハードウェア例外とソフトウェア例外の2種類があります。ハードウェア例外は、Oracle SolarisおよびLinuxオペレーティング・システム上のSIGSEGVやSIGKILLなどのシグナルに相当します。ソフトウェア例外は、アプリケーションまたはオペレーティング・システムがRaiseException() APIを使用して明示的に発行します。 Windowsでは、ハードウェア例外とソフトウェア例外の両方を処理するメカニズムを構造化例外処理(SEH)と呼びます。これは、C++Javaの例外処理メカニズムに似たスタック・フレームベースの例外処理です。C++では、例7-1のように、__tryおよび__exceptキーワードを使用して、例外が発生する可能性があるコードのセクションを保護します。 例7-1 Tryおよび

  • Nothing But Programming - SEH

    SEH (Stractured Exception Handling) ここではWindowsのSEHに関する技術情報をまとめています。主にその利用法というよりは、内部的な実装、脆弱性、保護方法などを中心としてまとめています。32bit CPU x86での処理を前提としています。 さらに詳しいSEHオーバーライトExploitに関するレポートはこちらの「SEHオーバーライトの防御機能とそのExploit可能性」をご覧ください。 基 SEHはWindowsが提供している例外処理機構である。Windows自体はプラットフォームとしてその基機能を提供し、その利用方法については各言語環境、コンパイラによって異なる。通常プログラマから見た場合には、コンパイラがインターフェースとなり、具体的なWindowsとのやりとりやコードはコンパイラが生成する。たとえば、Visual C++ではSEHを__t

  • 1