"Halo, Amigo!

"Aku arep ngandhani bab sing cilik, nanging menarik."

"Aku ngrungokake. Aku seneng perkara sing cilik lan menarik."

"Inggih, sampeyan ngerti sing saben obyek Utas wis roto () cara. Lan sampeyan bisa nglakokaké ing Utas kapisah nggunakake wiwitan () cara.

"Ya mesthi."

"Nanging saiki mbayangno kahanan iki: sampeyan miwiti thread kanggo nindakake sawetara karya, nanging pangecualian dibuwang lan thread mandheg mlaku amarga ora ngerti apa apa. Apa sampeyan ora kudu ngerti bab kesalahan iki piye wae?"

"Aku setuju. Aku kudu piye wae nyekel pangecualian sing dumadi ing thread mlaku liyane. Apa Jawa malah ndhukung sing?"

"Sampeyan ngenyek kula. Mesthi wae."

"Pencipta Jawa nemokke antarmuka khusus sing diarani UncaughtExceptionHandler. Mangkene carane nyekel lan nangani pangecualian sing kedadeyan ing utas liyane, yen utas kasebut ora entuk: "

Tuladha
public class DownloadManager
{
 public static void main(String[] args)
 {
   Thread thread = new DownloadThread();
   thread.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()
   {
    @Override
    public void uncaughtException(Thread t, Throwable e)
    {

    }
 });

 thread.start();
}

"Obyek Thread nduweni metode setUncaughtExceptionHandler khusus . Sampeyan kudu ngliwati obyek sing ngetrapake antarmuka Thread.UncaughtExceptionHandler . Antarmuka iki mung nduweni siji cara: uncaughtException(Thread t, Throwable e) . Iki cara sing bakal diarani obyek sing dilewati yen ana pangecualian sing ora ditemokake ing metode run."

"Ing conto ing ndhuwur, aku mung ngumumake kelas batin anonim (disorot nganggo warna abang) sing ngetrapake Thread. Antarmuka Thread.UncaughtExceptionHandler . Lan aku ngilangi metode uncaughtException (Thread t, Throwable e) .

"Minangka sampeyan bisa ndeleng saka dhaftar parameter cara, loro bantahan bakal liwati: referensi kanggo obyek Thread ngendi pangecualian dumadi, lan pangecualian dhewe, liwati minangka Throwable e."

"Inggih, kenapa aku kudu variabel Utas t? Apa kita wis ngerti Utas apa sing dilebokake obyek UncaughtExceptionHandler ?"

"Dheweke nindakake iki supaya sampeyan bisa nulis handler universal kanggo kahanan iki. IE sampeyan bisa nggawe obyek siji lan pass menyang Welasan Utas beda. Banjur uncaughtException( Thread t, Throwable e) cara tansah menehi referensi kanggo Objek utas ing ngendi pangecualian dumadi."

"Apa maneh, sampeyan bisa nggawe puluhan Utas, contone, ing daur ulang kanggo nindakake tugas tartamtu. Umumé, referensi iki kanggo obyek Utas ora bakal superfluous. Aku janji sampeyan."

"Aku pracaya sampeyan. Sampeyan ora tau salah."