Обнаружил, что в Nemerle исключения обрабатываются не так, как в C#
using System;
module Program {
static Main() : void {
try {
throw SystemException();
}
catch
{
| e is SystemException =>
Console.WriteLine("here");
throw ApplicationException()
| e is ApplicationException =>
Console.WriteLine("there")
}
}
}
То есть, исключение брошенное внутри блока catch может быть поймано ниже в том же блоке catch.
В документации ничего по этому поводу не обнаружил.
Это бага или фича?
30.01.07 17:54: Перенесено модератором из 'Декларативное программирование' — IT
Здравствуйте, nikov, Вы писали:
N>Обнаружил, что в Nemerle исключения обрабатываются не так, как в C# N>
N> | e is SystemException =>
N> Console.WriteLine("here");
N> throw ApplicationException()
N> | e is ApplicationException =>
N> Console.WriteLine("there")
N>
N>То есть, исключение брошенное внутри блока catch может быть поймано ниже в том же блоке catch. N>В документации ничего по этому поводу не обнаружил. N>Это бага или фича?
Хмм, напиши, что у тебя выводит, у меня все как положенно:
\> out.exe
here
Необработанное исключение: System.ApplicationException: Ошибка в приложении.
в Program.Main()