Finally Block

Định nghĩa Finally Block là gì?

Finally BlockCuối cùng khối. Đây là nghĩa tiếng Việt của thuật ngữ Finally Block - một thuật ngữ thuộc nhóm Technology Terms - Công nghệ thông tin.

Độ phổ biến(Factor rating): 5/10

Một khối finally, trong bối cảnh của C #, dùng để chỉ một khối lệnh được thực thi luôn, bất kể sự kiện bất ngờ hoặc trường hợp ngoại lệ có thể xảy ra trong quá trình thực hiện của ứng dụng. Nó được sử dụng tùy chọn với khối "try / catch" và đảm bảo việc thực hiện bất kỳ mã đó phải được thực hiện trước khi thoát khỏi "thử" khối, không phụ thuộc vào sự thành công hay thất bại của thi của ứng dụng. Việc thực hiện một khối finally là nhằm giải phóng các nguồn lực, chẳng hạn như các kết nối cơ sở dữ liệu, mà thường có sẵn với số lượng giới hạn. Bởi cơ chế này, việc xử lý các nguồn tài nguyên xảy ra sớm hơn so với hoạt động hoàn thiện các bộ thu rác của, qua đó tối ưu hóa bộ nhớ.

Xem thêm: Thuật ngữ công nghệ A-Z

Giải thích ý nghĩa

Các mã trong khối cuối cùng có thể được sử dụng để xử lý ngoại lệ trong thời gian sớm khi chúng xảy ra, làm sạch bộ nhớ lên bố trí trong "thử" khối hoặc dispose của các đối tượng tổ chức nguồn lực bên ngoài (như xử lý tập tin) được sử dụng trong "thử" khối. Một khối finally cũng tạo điều kiện thực hiện nhiệm vụ vệ sinh như đặt một con trỏ đến một trạng thái bình thường trước thời điểm của một ngoại lệ. Nói chung, các mã trong một khối finally được thực hiện khi kiểm soát ra khỏi một khối try như là kết quả thực hiện bình thường, như là kết quả của việc thực hiện một "đột phá", "goto", "tiếp tục" hay "trở lại" tuyên bố hoặc do đến một ra ngoại trừ báo cáo kết quả thử. Bất cứ khi nào một ngoại lệ xảy ra trong khối try, điều khiển đi từ dòng gây ra ngoại lệ đối với khối catch (exception handler) gần nhất và sau đó đến khối finally. Ngoài ra, khi một ngoại lệ được rethrown trong một khối catch, điều khiển chuyển đến khối finally. Do đó, mã mà theo đường nơi xảy ra ngoại lệ sẽ được bỏ qua. Trường hợp ngoại lệ không nên ném một cách rõ ràng trong một khối finally. Nếu một ngoại lệ xảy ra trong quá trình thực của một khối finally, bất kỳ mã sau điểm mà ngoại lệ được ném sẽ không thực hiện, và các ngoại lệ sẽ tuyên truyền để các khối kèm theo thử bên ngoài. Nếu khối cuối cùng đã được xử lý một ngoại lệ, kết quả này đến việc chấm dứt việc xử lý các ngoại lệ hiện hành. Nên cẩn thận không để thực hiện chuyển giao một cách rõ ràng vào hoặc ra khỏi một khối finally như đây không phải là chuyển giao hợp lệ.

What is the Finally Block? - Definition

A finally block, in the context of C#, refers to a block of statements that are always executed, regardless of unexpected events or exceptions that may occur during an application's execution. It is used optionally with the "try/catch" block and guarantees the execution of any code that must be executed before exiting the "try" block, regardless of the success or failure of the application's execution. The execution of a finally block is intended to release resources, such as database connections, which are usually available in limited quantities. By this mechanism, the disposal of resources occurs earlier than the garbage collector's finalization operation, thereby optimizing memory.

Understanding the Finally Block

The code in the finally block can be employed to handle exceptions as soon as they occur, clean up memory allocated in the "try" block or dispose of objects holding external resources (like file handles) used in the "try" block. A finally block also facilitates the performance of housekeeping tasks like resetting a cursor to a normal state prior to the time of an exception. In general, the code within a finally block is executed when control exits a try block as a result of normal execution, as a result of the execution of a "break", "goto", "continue" or "return" statement or due to an exception out of the try statement. Whenever an exception occurs in the try block, control passes from the line that caused the exception to the nearest catch block (exception handler) and then to the finally block. Also, when an exception is rethrown in a catch block, control transfers to the finally block. Thus, code that follows the line where the exception occurred will be skipped. Exceptions should not be thrown explicitly in a finally block. If an exception occurs during the execution of a finally block, any code after the point where the exception is thrown will not execute, and the exception will propagate to the outer enclosing try block. If the finally block is already handling another exception, this results in termination of the processing of the current exception. Care should be taken not to explicitly transfer execution into or out of a finally block as this is not a valid transfer.

Thuật ngữ liên quan

  • Try/Catch Block
  • Exception Handling
  • C# (C Sharp)
  • Software Propagation
  • Exception
  • Commit
  • Access Modifiers
  • Acyclic
  • Appending Virus
  • Armored Virus

Source: ? Technology Dictionary - Filegi - Techtopedia - Techterm

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *