Try-Catch-When consists of a try-catch block with a one or more when clause.
For example:
try{
LegacyOperation();
}
catch (COMException e) when (e.ErrorCode == 0x1234){
// Handle the *specific* error I was expecting.
}
catch (COMException e) when (e.ErrorCode == 0x5678){
// Handle the *specific* error I was expecting}