The following code causes the debugger to break when the exception is thrown. Clearly the exception is handled and so the debugger should not break.
If I continue execution the program continues to run normally; printing "oops" on the screen as expected.
[<EntryPoint>]
let main argv =
async {
try
do! Async.Sleep(1)
failwith "oops" // The debugger breaks here but it should not as the exception is handled. It should behave like the C# version
with
| ex -> printfn "%s" (ex.Message)
}
|> Async.RunSynchronously
Console.ReadLine() |> ignore
0
Compare this with the equivalent C# code. This does not break when the exception is thrown. The F# version should behave the same way and not break!
using System;
using System.Threading.Tasks;
namespace CSharpTaskException
{
class Program
{
static void Main(string[] args)
{
async Task DoSomething()
{
try
{
await Task.Delay(1);
throw new Exception("oops"); // ****** This does not cause the debugger to break as the exception is handled
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
DoSomething().Wait();
Console.ReadLine();
}
}
}
This issue has been moved from https://developercommunity.visualstudio.com/content/problem/314461/debugger-should-not-break-on-f-f-sharp-exception-i.html
VSTS ticketId: 666263
These are the original issue comments:
(no comments)
These are the original issue solutions:
(no solutions)
The following code causes the debugger to break when the exception is thrown. Clearly the exception is handled and so the debugger should not break.
If I continue execution the program continues to run normally; printing "oops" on the screen as expected.
Compare this with the equivalent C# code. This does not break when the exception is thrown. The F# version should behave the same way and not break!
This issue has been moved from https://developercommunity.visualstudio.com/content/problem/314461/debugger-should-not-break-on-f-f-sharp-exception-i.html
VSTS ticketId: 666263
These are the original issue comments:
(no comments)
These are the original issue solutions:
(no solutions)