개발 C에서 finally 블록이란 무엇입니까? -techopedia에서 정의

C에서 finally 블록이란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-마지막으로 차단이란 무엇입니까?

C #의 맥락에서 finally 블록은 응용 프로그램 실행 중 발생할 수있는 예기치 않은 이벤트 나 예외에 관계없이 항상 실행되는 명령문 블록을 나타냅니다. 선택적으로 "try / catch"블록과 함께 사용되며 응용 프로그램 실행의 성공 또는 실패에 관계없이 "try"블록을 종료하기 전에 실행해야하는 모든 코드의 실행을 보장합니다.


finally 블록의 실행은 일반적으로 제한된 수량으로 사용 가능한 데이터베이스 연결과 같은 리소스를 해제하기위한 것입니다. 이 메커니즘을 통해 가비지 수집기의 종료 작업보다 먼저 리소스를 폐기함으로써 메모리를 최적화 할 수 있습니다.

Techopedia는 Final Block을 설명합니다

finally 블록의 코드를 사용하면 예외가 발생하자마자 예외를 처리하고 "try"블록에 할당 된 메모리를 정리하거나 "try"블록에 사용 된 외부 리소스 (파일 핸들과 같은)를 보유한 객체를 폐기 할 수 있습니다. finally 블록은 또한 예외 시간 이전에 커서를 정상 상태로 재설정하는 것과 같은 하우스 키핑 작업의 수행을 용이하게합니다.


일반적으로 finally 블록 내의 코드는 컨트롤이 "break", "goto", "continue"또는 "return"문의 실행 또는 정상적인 실행의 결과로 try 블록을 종료 할 때 실행됩니다. try 문에서 예외가 발생했습니다.


try 블록에서 예외가 발생할 때마다 제어는 예외를 일으킨 행에서 가장 가까운 catch 블록 (예외 처리기)으로 전달 된 다음 finally 블록으로 전달됩니다. 또한 catch 블록에서 예외가 다시 발생하면 제어는 finally 블록으로 전송됩니다. 따라서 예외가 발생한 줄을 따르는 코드는 건너 뜁니다.


finally 블록에서 예외를 명시 적으로 throw해서는 안됩니다. finally 블록을 실행하는 동안 예외가 발생하면 예외가 발생한 지점 이후의 코드는 실행되지 않으며 예외는 외부 둘러싸는 try 블록으로 전파됩니다. finally 블록이 이미 다른 예외를 처리하고 있으면 현재 예외 처리가 종료됩니다.


finally 블록으로 또는 블록 밖으로 실행을 명시 적으로 전송하지 않도록주의해야합니다. 이는 유효한 전송이 아니기 때문입니다.

이 정의는 C #의 맥락에서 작성되었습니다.
C에서 finally 블록이란 무엇입니까? -techopedia에서 정의