Menu
CoddyTech

Blok Finally

Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 27 dari 66.

Blok finally berisi kode yang selalu dijalankan, baik terjadi exception maupun tidak, bahkan jika ada pernyataan return di blok try atau catch.

Buat struktur try-catch-finally dasar:

try
{
    // Kode yang mungkin menimbulkan pengecualian
    int result = 10 / 2;
    Console.WriteLine("Result: " + result);
}
catch (DivideByZeroException ex)
{
    // Kode yang menangani pengecualian
    Console.WriteLine("Cannot divide by zero: " + ex.Message);
}
finally
{
    // Kode yang selalu dijalankan
    Console.WriteLine("This always executes");
}

Blok finally berguna untuk tugas pembersihan, seperti menutup file atau koneksi database:

System.IO.StreamReader file = null;
try
{
    file = new System.IO.StreamReader("data.txt");
    string content = file.ReadToEnd();
    Console.WriteLine(content);
}
catch (System.IO.FileNotFoundException)
{
    Console.WriteLine("File not found.");
}
finally
{
    // Selalu tutup file, meskipun terjadi pengecualian
    if (file != null)
    {
        file.Close();
    }
}
challenge icon

Tantangan

Mudah

Buat method bernama ProcessData yang:

  1. Menerima parameter string yang mewakili nama file
  2. Mencoba membuka file dan membaca isinya
  3. Menulis isinya ke console
  4. Membersihkan resource dengan benar menggunakan blok finally
  5. Menangani FileNotFoundException dan IOException

Jika file tidak dapat ditemukan, cetak: "ERROR: File not found: [filename]"

Jika terjadi error IO lain, cetak: "ERROR: Could not read the file: [error message]"

Selalu cetak "File operation completed." di blok finally, baik terjadi exception maupun tidak.

Coba sendiri

using System;
using System.IO;

class Program
{
    public static void ProcessData(string filename)
    {
        // Tulis kodemu di sini
    }
    
    static void Main(string[] args)
    {
        string filename = Console.ReadLine();
        ProcessData(filename);
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C# online