気が付けばそこに例外
System.Windows.Forms.SystemInformation とか、触ると例外がでることがあります。
たとえば、上記クラスには MenuFont という現在の Windows のメニュー用のフォントを取得する static なプロパティがありますが、Microsoft .NET Framework の System.Drawing.Font クラスは
- TrueType フォント
- TrueType Outline を持つ OpenType フォント
しか扱えませんが、Windows そのものは
- Windows 3.0 形式のビットマップフォント
- TrueType フォント
- TrueType Outline を持つ OpenType フォント
- Postscript Outline を持つ OpenType フォント
といったフォントが扱えるため、.NET の System.Drawing.Font で扱えないフォントを設定している環境では SystemInformation.MenuFont プロパティを使用すると例外が飛ぶんですね。