try {
}
catch {
| ex is ThreadInterruptedException
| ex is ThreadAbortException
=> (); // exception catch pattern must be in form of `| e is ExceptionType => handler' or`| e => handler' for System.Exception
| ex
=> {
}
}
А так нет:
try {
}
catch {
| ex is ThreadInterruptedException
=> ();
| ex is ThreadAbortException
=> ();
| ex
=> {
}
}
И это что, получается мне надо два одинаковых обработчика писать?
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
Здравствуйте, DarthSidius, Вы писали:
DS>DS>try {
DS>}
DS>catch {
DS> | ex is ThreadInterruptedException
DS> | ex is ThreadAbortException
DS> => (); // exception catch pattern must be in form of `| e is ExceptionType => handler' or`| e => handler' for System.Exception
DS> | ex
DS> => {
DS> }
DS>}
DS>
DS>А так нет:
DS>DS>try {
DS>}
DS>catch {
DS> | ex is ThreadInterruptedException
DS> => ();
DS> | ex is ThreadAbortException
DS> => ();
DS> | ex
DS> => {
DS> }
DS>}
DS>
DS>И это что, получается мне надо два одинаковых обработчика писать?
Тут PM не настоящий (ограничение IL). Воркэраунд следующий:
try
{
}
catch
{
| ex when ex is ThreadAbortException || ex is ThreadInterruptedException => ()
| ex => ()
}