Strange Catch Try Finally Error
<p>I've got a strange error with the android LiveWallpaper catch try finally. When I set this
It works on API's around 2.3ish:</p>

<pre><code>    Canvas canvas = null;
    //Keep trying till wallpaper is set.
    //Error around here..
    try 
    {
        canvas = this._surfaceHolder.lockCanvas(null);
        synchronized (this._surfaceHolder) 
        {
            this.onDraw(canvas);
        }
    } 

    finally
    {
        if(canvas != null)
        {
            this._surfaceHolder.unlockCanvasAndPost(canvas);
        }
    }
</code></pre>

<p>And this works on ICS &amp; Honeycomb (tested on real devices)</p>

<pre><code>    Canvas canvas = null;
    //Keep trying till wallpaper is set.
    //Error around here..
    try 
    {
        canvas = this._surfaceHolder.lockCanvas(null);
        synchronized (this._surfaceHolder) 
        {
            this.onDraw(canvas);
        }
    } 

    finally
    {
        if(canvas != null)
        {
            this._surfaceHolder.unlockCanvasAndPost(canvas);
        }
    }
</code></pre>

<p>The error occurs when the livewallpaper is "Set". (The service fails, "exception locking service")
How would I get it to work on both from one compile? I don't want two different versions.</p>
