C++メモ tryとcatchを#defineなマクロで書いてみる

C++

コード書くのが面倒くさかったのでやってみただけ。

  • #defineのマクロ名以降に半角スペース1個入れてコードを書く
  • 改行は¥(OSXの場合はOptionキー+¥で\を入力)
  • tryは見栄えが悪いので合わせて書いただけ

コードはこんなん。

とりあえず、tryのほう。

#define Try try

んで、catchのほう。

#define Catch ¥
catch(exception& objException)¥
{¥
	cout << objException.what() << endl;¥
}¥
catch(...)¥
{¥
	/* うまくいけば、"unknown error"と表示されるはず */ ¥
	cout << "unknown error" << endl;¥
}

サンプルコードはこんなん。

int main( void )
{
	Try
	{
		// ここで強制的に例外を発生させる
		throw new exception();
	}
	Catch;

	return 0;
}

んで、実行したらこんなん。

unknown error

いろんな例外を拾うときに便利なんだけど…邪道かなぁ?
んま、メモってことで。