Try Catch

27 Mar

Try Catch ini adalah salah satu fitur dari Java untuk menangkap eksepsi atau kesalahan. Ya mungkin kita sering melakukan kesalahan dalam membuat program. Nah, dengan menggunakan Try Catch ini kita bisa menangkap kesalahan itu.

Eksespsi bisa berupa kesalahan penulisan kode, kesalahan saat menjalankan method dan sebagainya.

Bentuk umum Try Catch

try {
   <blok_programs>;
}
catch(<parameter>) {
   <blok_yang_dijalankan_jika_terjadi_eksepsi>;
}
finally {
   <blok_yang_dijalankan_terakhir>;
}

Di blok program di dalam Try itu adalah program yang akan dijalankan dan akan ditangkap eksepsinya jika terjadi kesalahan. Dan yang di blok catch adalah blok yang dijalankan jka terjadi eksepsi, jadi pesan kesalahannya di dalam catch ini. Biasanya berupa statement. Finally sebenarnya hanya pelengkap saja dan jarang digunakan. Ini bisa dibayangkan sebagai footer, yaitu akan keluar di akhir atau dijalankan di akhir. Mungkin akan lebih jelas dengan contoh di bawah ini:

class Coba {
   public static void main(String[] args) {
      System.out.println("star program\n");
      try{
         System.out.println(10/0);
      }
      catch(Throwable b) {
         System.err.println("terjad kesalahan >> "+b.getMessage());
      }
      finally {
         System.out.println("Pembagian nol\n");
      }
      System.out.println("end of program");
   }
}

Outputnya

start program

terjadi kesalahan >> / by zero

pembagian nol

end of program

NB:

  • Program dibaca dari atas, mencetak start program terlebih dulu setelah itu baru masuk try
  • Di blok program try terjadi kesalahan. Kesalahannya, bilangan berapapun jika dibagi nol itu tidak bisa atau tidak terdefinisi.
  • Blok catch mencetak kesalahannya. Catch mempunyai parameter b yang berkelas Throwable. Throwable adalah kelas yang ada di package java.lang yang menangani eksepsi dan merupakan turunan dari kelas objek (kelas tertinggi di JAVA). Dan perlu diketahui blok ini akan dijalankan jika terjadi eksepsi saja.
  • System.err.println untuk mencetak kesalahan dan getMessage() adalah method untuk menampilkan kesalahan yang terjadi.
  • Blok finally itu bisa dikatakan seperti footer, jadi akan dijalankan di bagian terakhir saja dan akan tetap dijalankan walaupun tidak terjadi kesalahan atau eksepsi sekalipun
  • Setelah selesai akan keluar dari Try Catch dan mencetak end of program.

10 Responses to “Try Catch”

  1. antie March 5, 2011 at 5:32 am #

    bisa minta contoh soalnya (satu program utuh) penggunaan block catch lebih dari satu !!!!!!!!!!1

  2. bernazse May 12, 2011 at 5:02 pm #

    sebenarnya penggunaan (multi) catch block tergantung kebutuhan nilai kembalian yang ingin ditampilkan. Class & parameter di block catch beda-beda tergantung kebutuhan

    okay…contohnya seperti ini

    try {
    // TODO code application logic here
    Connection connection;
    Class.forName(“com.mysql.jdbc.Driver”);
    connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/kobatama”, “root”, “”);
    String sql=”select idJadwal from jadwal order by idJadwal desc limit 1″;
    PreparedStatement ps=connection.prepareStatement(sql);
    ResultSet rs=ps.executeQuery();
    while (rs.next()) {
    System.out.println(rs.getString(“idJadwal”));
    }
    } catch (SQLException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

  3. angga bayu prasetya July 12, 2011 at 11:25 pm #

    senang menemukan artikel ini

  4. dwi November 28, 2011 at 3:21 am #

    bagaimana dengan penggunaan try catch pada gui(JFrame Form)??

  5. retro May 3, 2012 at 12:46 pm #

    bagaimana jika input nilai hanya di perbolehkan hanya numerik saja, apabila yang diinput adalah string, maka akan dimunculkan suatu pesan dan input akan diminta ulang.

  6. tanya April 2, 2013 at 3:50 pm #

    permisi, mau tanya kalau membuat program faktorial dengan menerima input dari user dan adanya batasan input, apa bisa menggunakan try catch?? kalu boleh minta contohnya 😀

  7. Muchammad Imam Abdullah June 10, 2015 at 8:04 am #

    jadi sebenarnya Final dalam Try Catch itu fungsinya
    gak lebih dari sekedar penanda ( ya bisa dibilang footer juga sih )
    Final digunakan oleh Developer untuk aplikasi dengan skala yang besar
    (terdiri dari ribuan kode).
    Jadi klo misalkan dalam blok Try Catch gak terjadi kesalahan ya final
    bisa jadi Penanda klo di blok tersebut gak ada kesalahan & penanda juga
    biar tahu bahwa fungsi Try Catch tersebut berjalan dengan semestinya

  8. enhalumi March 5, 2017 at 1:14 am #

    izin copas ya >< thanks

  9. tika August 13, 2017 at 12:45 am #

    pagi mau nanya, kok selalu bermasalah di try {
    Class.forName(driver);
    Connection kon = DriverManager.getConnection(database,user,pass);
    Statement stt = kon.createStatement();

  10. unkapata March 20, 2018 at 11:34 pm #

    go c#

Leave a comment