Is unchecked just to do with compile time errors?
<p>The <a href="http://msdn.microsoft.com/en-us/library/a569z7k8%28v=vs.71%29.aspx" rel="nofollow">MSDN examples</a> are just compile time errors.</p>

<p>It's just I see @JonSkeet uses it an answer here: <a href="http://stackoverflow.com/a/263416/360211">http://stackoverflow.com/a/263416/360211</a> and I can't see why if it's just compile time.</p>

<pre><code>    static void Main()
    {
        const int x = 4;
        int y = int.MaxValue;
        int z = x*y;
        Console.WriteLine(z);
        Console.ReadLine();
    }
</code></pre>

<p>Produces <code>-4</code>, same as this:</p>

<pre><code>    static void Main()
    {
        unchecked
        {
            const int x = 4;
            const int y = int.MaxValue;
            int z = x*y; // without unchecked, this is compile error
            Console.WriteLine(z);
            Console.ReadLine();
        }
    }
</code></pre>

<p>This throws runtime:</p>

<pre><code>    static void Main()
    {
        checked
        {
            const int x = 4;
            int y = int.MaxValue;
            int z = x*y; //run time error, can checked be set system wide?
            Console.WriteLine(z);
            Console.ReadLine();
        }
    }
</code></pre>

<p>So is Jon doing this because it could be set system wide, compiler flag or otherwise?</p>
