C# 6.0에서 도입된 예외 필터는 catch 절에서 예외를 처리하기 전에 추가적인 조건을 제공하여 특정 조건이 충족될 때만 해당 catch 절을 실행하게 할 수 있습니다. 예외 필터를 사용하면, 다양한 종류의 예외나 특정 조건에 따라 다른 처리 로직을 적용할 때 코드를 더욱 간결하고 명확하게 만들 수 있습니다.
다음은 예외 필터를 사용한 예시 C# 코드입니다:
using System;
class Program
{
static void Main()
{
try
{
// 임의로 예외를 발생시킴
throw new ArgumentException("This is an argument exception", "testParam");
}
catch (ArgumentException ex) when (ex.ParamName == "testParam")
{
Console.WriteLine($"Caught an argument exception for parameter: {ex.ParamName}");
}
catch (ArgumentException ex)
{
Console.WriteLine("Caught an argument exception");
}
catch (Exception)
{
Console.WriteLine("Caught a general exception");
}
}
}
위의 예제에서 첫 번째 catch 절은 ArgumentException 예외를 캐치하며, 예외 필터 when (ex.ParamName == "testParam")을 사용하여 ParamName 속성이 "testParam"일 때만 해당 catch 절이 실행되게 합니다.
이렇게 예외 필터를 사용하면 특정 조건에 따라 여러 catch 절 중에서 적절한 것을 선택하여 실행할 수 있어 코드의 가독성과 유지 보수성이 향상됩니다.
'워크 > C# 6,0' 카테고리의 다른 글
Static Using Statements (정적 using 문) (0) | 2023.09.19 |
---|---|
Expression-bodied function members (식 본문 함수 멤버) (0) | 2023.09.16 |
String Interpolation (문자열 보간) (0) | 2023.09.16 |
Null-conditional Operators (null 조건 연산자) (0) | 2023.09.13 |
Nameof Expressions (nameof 연산자) (0) | 2023.09.13 |