La mia ipotesi è che il blocco finally venga sempre eseguito finché il programma è in esecuzione. Tuttavia, in questa app per console, il blocco finally non sembra essere eseguito.Perché non viene finalmente eseguito?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
throw new Exception();
}
finally
{
Console.WriteLine("finally");
}
}
}
}
uscita
Nota: quando l'eccezione è stato gettato, Windows Me askmed se volevo terminare l'appliation, ho detto 'Sì.'
Clicca 'no' e vediamo cosa succede –
eseguirlo dalla riga di comando anziché all'interno del vostro IDE – KevinDTimm
E 'un aspetto molto strano. 'finally' dovrebbe essere scritto esattamente dopo StackTrace. –