try…catch…finally Statement JavaScript

Terkadang error bisa terjadi jika kita mengeksekusi code JavaScript yang tidak ditulis dengan baik.

Saat terjadi error biasanya program JavaScript akan melakukan [throw error].

[throw error] adalah memberhentikan program yang sedang berjalan kemudian menampilkan pesan error.

Ada tiga kombinasi statement (try statement, catch statement, dan finally statement) yang bisa digunakan untuk memperlakukan [throw error]:

  1. try…catch
  2. try…catch…finally
  3. try…finally

[try statement] berguna untuk memeriksa sekumpulan code apakah kumpulan code tersebut menghasilkan error (menjalankan throw error).

[catch statement] berguna untuk menentukan apakah yang harus dilakukan jika terjadi error (try statement menjalankan throw error).

Jika terjadi error pada try statement maka throw error dijalankan dan catch statement dijalankan. Jika tidak terjadi error pada try statement maka throw error tidak dijalankan dan catch statement tidak dijalankan.

Jika menggunakan [finally statement] maka apapun hasilnya try statement (menjalankan throw error ataupun tidak), sekumpulan code pada finally statement tetap akan dijalankan.

Saat try statement dijalankan dan terjadi error maka program dihentikan dan akan ada pesan error yang disimpan oleh throw error. Pesan error tersebut kemudian akan ditangkap atau disimpan oleh catch statement.

Untuk memodifikasi pesan error yang ditangkap oleh catch statement maka kita membutuhkan [throw statement].

[throw statement] berguna untuk memodifikasi pesan error yang diberikan oleh [throw error]. Perhatikan contoh code throw statement di bawah ini:

throw "File terlalu besar";   // memberikan pesan text (throw text)
throw 1000;                   // memberikan pesan angka (throw angka)

try…catch statement

Syntax

try {
  Code block 1;
} catch(exception) {
  Code block 2;
};

Catatan

[Code block 1] adalah kumpulan code yang akan diperiksa apakah kumpulan code tersebut akan menghasilkan error (menjalankan throw error).

[Code block 2] adalah kumpulan code yang akan dieksekusi jika [Code block 1] menghasilkan error (menjalankan throw error).

[exception] adalah nama variable. Kamu bisa menggunakan nama variable apapun yang kamu mau. Variable ini berisi pesan error yang dihasilkan oleh [throw error].

Contoh

Code JavaScript 1:

<script>
try {
  dddocument.write("Selamat malam");
} catch(e) {
  document.write("Error pada try statement");
};
</script>

Hasil code JavaScript 1:

Error pada try statement

Pada code try statement di atas ada code yang salah penulisannya sehingga throw error dijalankan. Karena try statement melakukan throw error maka catch statement dijalankan.

Untuk menampilkan pesan error yang dihasilkan oleh throw error kita bisa menggunakan [exception] parameter. Lihat contoh di bawah ini:

Code JavaScript 2:

<script>
try {
  dddocument.write("Selamat malam");
} catch(e) {
  document.write(e);
};
</script>

Hasil code JavaScript 2:

ReferenceError: dddocument is not defined

Code di atas bekerja berdasarkan urutan sebagai berikut:

  1. try…catch statement dijalankan.
  2. try statement dijalankan. Ada code yang error.
  3. throw error dijalankan. Program dihentikan. throw error menyimpan pesan error.
  4. catch statement dijalankan. Variable [e] menyimpan pesan throw error.
  5. Isi dari variable [e] ditampilkan.

Berikut ini adalah contoh modifikasi pesan error yang ada pada throw error menggunakan throw statement:

Code JavaScript 3:

<script>
try {
  throw "Code error";
  dddocument.write("Selamat malam");
} catch(e) {
  document.write(e);
};
</script>

Hasil code JavaScript 3:

Code error

Dengan menempatkan [throw statement] pada bagian awal [try statement] maka [throw statement] akan dieksekusi paling awal sebelum [throw error] terjadi. Code throw statement ini akan memodifikasi pesan error yang dihasilkan oleh throw error.

try…catch…finally statement

Syntax

try {
  Code block 1;
} catch(exception) {
  Code block 2;
} finally {
  Code block 3;
};

Catatan

[Code block 1] adalah kumpulan code yang akan diperiksa apakah kumpulan code tersebut akan menghasilkan error (menjalankan throw error).

[Code block 2] adalah kumpulan code yang akan dieksekusi jika [Code block 1] menghasilkan error (menjalankan throw error).

[Code block 3] adalah kumpulan code yang pasti dieksekusi apapun hasil [try statement].

[exception] adalah nama variable. Kamu bisa menggunakan nama variable apapun yang kamu mau. Variable ini berisi pesan error yang dihasilkan oleh [throw error].

Contoh

Code JavaScript 4:

<script>
try {
  throw "Code error";
  dddocument.write("Selamat malam");
} catch(e) {
  document.write(e + "<br />");
} finally {
  document.write("Ada yang salah pada try statement");
};
</script>

Hasil code JavaScript 4:

Code error
Ada yang salah pada try statement

try…finally statement

Syntax

try {
  Code block 1;
} finally {
  Code block 2;
};

Catatan

[Code block 1] adalah kumpulan code yang akan diperiksa apakah kumpulan code tersebut akan menghasilkan error (menjalankan throw error).

[Code block 2] adalah kumpulan code yang pasti dieksekusi apapun hasil [try statement].

Code try…finally statement tidak memerlukan [throw statement].

Contoh

Berikut ini adalah contoh try…finally statement:

Code JavaScript 5:

<script>
try {
  dddocument.write("Selamat malam");
} finally {
  document.write("Terjadi error pada try statement");
};
</script>

Hasil code JavaScript 5:

Terjadi error pada try statement

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>