Goto is very rarely appropriate construct to use. Usage will confuse 99 percent of people who look at your code and even technically correct usage of it will significantly slow down understanding of the code.
In most cases refactoring of the code will eliminate need (or desire to use) of goto. I.e. in your particular case you can simply mover try/catch inside while(true). Making inner code of the iteration into separate function will likely make it even cleaner.
while(true)
{
try
{
// Do some work repeatedly...
}
catch(Exception)
{
// Exception caught and now I can not continue
// to do my work properly
// I have to reset the status before to continue to do my work
ResetStatus();
}
}