는이 코드를 가지고 내가 마지막으로 실행try/catch/finally, 내 catch에서 돌아 왔을 때 마침내 방지하는 방법은 무엇입니까?
try
{
throw new Exception("Try Error!!!");
}
catch(Exception exp)
{
Console.WriteLine(exp.Message);
Console.ReadLine();
if(exp.Message == "Try Error!!!")
return;
}
finally
{
Console.WriteLine("Finally...");
Console.ReadLine();
}
그러나 작동하지 않습니다 반환을 방지합니다.
당신의 코드는 몇 가지 문제점을 보여줍니다. 첫째, 예외를 사용하여 실행 흐름을 제어하는 것처럼 보이므로 권장되지 않습니다. 'catch' 블록으로 건너 뛰기위한 예외를 던지면'goto'를 사용하는 것과 다르지 않습니다.다음으로, 당신은'System.Exception'을 던지고,'System.Exception'을 잡아 내고, 그 메시지를 검사하여 그 타입을 결정합니다. C#과 같은 OOP 언어를 사용하는 경우 적어도 여러 개의 사용자 정의 Exception 클래스를 만들고 여러 'catch'블록을 사용하여 구별 할 수 있습니다. 모든 예외를 잡는 것은 잘못입니다. – Groo
@ LightWing 그것은 당신이 그것을 원하고 또한 agaisnt oops다는 것을주의 깊게 질문에서 지정하십시오. 당신이 아직도 그것을하고 싶다면 왜 마침내해야합니까? – amod