クイズ
・http://blogs.msdn.com/brada/archive/2004/10/21/246102.aspx
Brad Abrams氏のところで出ていたクイズ。私は反則技しか思いつきませんでした。(^^;
using System; using System.IO; class Program { static void Main(string[] args) { /* 私の考えた反則 Console.WriteLine("In try"); Console.WriteLine("Mystery inserted code"); Console.WriteLine("In catch"); Console.WriteLine("After try..catch"); Console.SetOut(new StringWriter()); // もしくは、returnとか */ /* こんな回答があった AppDomain.CurrentDomain.ExceptionThrown += delegate { Console.WriteLine("Mystery inserted code"); }; */ try { Console.WriteLine("In try"); throw new Exception(); } catch (Exception) { Console.WriteLine("In catch"); } Console.WriteLine("After try..catch"); Console.Read(); } }
AppDomainを使った方法は知りませんでした。こんなのもあるんだ。ただ、出題者が求めている回答とは違いそうな感じです。
(追記) やっぱAppDomainの方法で正解な気が。「buffer magic required.」ってとこだけに目がいってました。