We have following code:
try
{
// some code throwing MyException
}
catch (MyException ex)
{
// [1]
// no (re)throw here
}
catch (Exception ex)
{
if (ex is MyException)
{
// [2]
}
}
If we run the code without a debugger attached, everything runs fine. However, if we debug the code, we don't get to point [1] but [2]. As far as I understand the language specification this should not be possible.
Even weirder, this code used to run fine even while debugging. The strange behavior started only a few days ago.