Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit focus mode

when (C# reference)

  • 2024-03-30
Feedback

In this article

You use thewhen contextual keyword to specify a filter condition in the following contexts:

when in a catch clause

Thewhen keyword can be used in a catch clause to specify a condition that must be true for the handler for a specific exception to execute. Its syntax is:

catch (ExceptionType [e]) when (expr)

whereexpr is an expression that evaluates to a Boolean value. If it returnstrue, the exception handler executes; iffalse, it does not.

The following example uses thewhen keyword to conditionally execute handlers for anHttpRequestException depending on the text of the exception message.

using System;using System.Net.Http;using System.Threading.Tasks;class Program{    static void Main()    {        Console.WriteLine(MakeRequest().Result);    }    public static async Task<string> MakeRequest()    {        var client = new HttpClient();        var streamTask = client.GetStringAsync("https://localHost:10000");        try        {            var responseText = await streamTask;            return responseText;        }        catch (HttpRequestException e) when (e.Message.Contains("301"))        {            return "Site Moved";        }        catch (HttpRequestException e) when (e.Message.Contains("404"))        {            return "Page Not Found";        }        catch (HttpRequestException e)        {            return e.Message;        }    }}

See also

Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, seeour contributor guide.

Feedback

Was this page helpful?

YesNo

In this article

Was this page helpful?

YesNo