SlideShare a Scribd company logo
บทท 9
         การจดการกบขอผดพลาด
          (Exception Handling)

           ผศ.ธนศา เครอไวศยวรรณ
           คณะเทคโนโลย(สารสนเทศ
สถาบ,นเทคโนโลย(พระจอมเกล1าเจ1าค2ณทหารลาดกระบ,ง
ว,ตถ2ประสงค8
 แนะน:าข1อผดพลาดท(<อาจเกดข=>นได1ในภาษาจาวา

 แนะน:าคลาสท(เก(<ยวข1องก,บการจ,ดการก,บข1อผดพลาดท(ก:าหนดไว1ใน Java
              <                                   <
  API
 อธบายค:าส,<งท(ใช1ในการจ,ดการก,บข1อผดพลาดคอ ค:าส,ง try,catch และ
                <                                 <
  finally
 อธบายกฎการจ,ดการก,บข1อผดพลาด

 แนะน:าวธ(การสร1างคลาสประเภทข1อผดพลาดข=>นมาใหมI
ขอผดพลาด
 โปรแกรมภาษาจาวาแบงขอผดพลาดทอาจเกดขนขณะรนโปรแกรมเป"น สอง
  ประเภทคอ
   •   Error เป"นขอผดพลาดทไมสามารถแกไขและจดการได เชน
        VirtualMachineError,OutOfMemoryError
   •   Exception เป"นขอผดพลาดทสามารถแกไขหร(อจดการได เชน
         ArrayIndexOutOfBoundsException,FileNotFoundException

 ขอผดพลาดในภาษาจาวาจะก*าหนดเป"นออปเจJคของคลาสตางๆ โดยมคลาส
  Throwable เป"นคลาสราก
คลาสทเกยวของกบขอผดพลาด
คลาสประเภท Exception
 Exception เป"นขอผดพลาดทเกดในขณะรนโปรแกรมภาษาจาวา

 Exception แบงออกเป"นสองประเภท ค(อ
     •   RuntimeException
     •   IOException
   RuntimeException เป"นขอผดพลาดทอาจหลกเลยงไดหากมการเขยน
    โปรแกรมทถ/กตอง
   IOException เป"นขอผดพลาดทภาษาจาวาก*าหนดใหตองมการจดการ
    หากมการเรยกใชเมธอดทอาจเกดขอผดพลาดประเภทนได
คลาสประเภท Exception ท(ส:าค,ญและพบบIอย
                             <
   ArithmeticException
   ArrayIndexOutOfBoundsException
   EOFException
   FileNotFoundException
   InterruptedException
   IOException
   NullPointerException
   NumberFormatException
ตวอยางโปรแกรมทอาจเกดขอผดพลาด
public class ExceptionDemo {
    public static void main(String args[]) {
           System.out.println(args[2]);
           System.out.println("Hello");
    }
}
ค*าสง try..catch
 ภาษาจาวาม(ค(ยเวร8ด try ท(<เปLนค:าส,งท(<ใช1ในการจ,ดการก,บเมธอดหรอค:าส,<ง
               8                     <
  ท(อาจเกดข1อผดพลาดซ=<งจะสIงออปเจJคประเภท Exception ในขณะร,น
    <
  โปรแกรม
 รNปแบบ
             try {
                    [statements]
             }
 โปรแกรมภาษาจาวาจะส,<งงานช2ดค:าส,งท(<อยNในบลJอกท(ละค:าส,<ง และหากเกด
                                  <      I
  ข1อผดพลาดข=นในค:าส,งประเภทใดกJจะม(การสIงออปเจJคของข1อผดพลาด
             >         <
  ประเภท Exception น,นข=>นมา
                     >
ค*าสง try..catch
 ในกรณ(ท(<ต1องการจ,ดการก,บข1อผดพลาดท(<เกดข=>น โปรแกรมจะต1องม(ช2ดค:า
  ส,งอยNIในบลJอกของค(ยเวร8ด catch ท(<จะระบ2ชนดของออปเจJคในคลาส
    <                   8
  ประเภท Exception ท(ต1องการจ,ดการ
                      <
 รNปแบบ

            catch(ExceptionType argumentName){
                   [statements]
            }
ตวอยางโปรแกรมทมการจดการกบขอผดพลาด
public class ExceptionHandlingDemo {
    public static void main(String args[]) {
              try {
                      System.out.println(args[2]);
              } catch(ArrayIndexOutOfBoundsException ex) {
                      System.out.println("There is no third
    command                  line argument");
              }
    }
}
การจ,ดการก,บข1อผดพลาดหลายๆประเภท
 โปรแกรมภาษาจาวาสามารถจะม(ช2ดค:าส,งของบลJอก catch ได1มากกวIา
                                   <
  หน=งช2ดส:าหร,บในแตIละบลJอกค:าส,<ง try
     <
 ชนดของออปเจJคประเภท Exception ท(อยNในช2ดค:าส,<งของบลJอก catch
                                  < I                              จะ
  ต1องเร(ยงตามล:าด,บการสบทอด
 ในกรณ(ท(<ม(ขอผดพลาดเกดข=>น ภาษาจาวาจะพจารณาวIาเปLนข1อผดพลาด
              1
  ชนดใด ซ=<งการท(<จะจ,ดการก,บออปเจJคประเภท Exception น,นจะพจารณา
                                                       >
  จากคลาสท(<ม(การสบทอดตามล:าด,บช,>น
ตวอยางโปรแกรม
public class ExceptionHandlingDemoV2 {
    public static void main(String args[]) {
           try {
                   int i = Integer.parseInt(args[0]);
                   System.out.println(4 / i);
           } catch(ArithmeticException ex) {
                   System.out.println(ex.toString());
           } catch(NumberFormatException ex) {
                   System.out.println("Invalid numeric
    format");
           }
    }
}
ตวอยางโปรแกรมทไมถ/กตอง
public class ExceptionHandlingDemoV3 {
    public static void main(String args[]) {
              try {
                      int i = Integer.parseInt(args[0]);
                      System.out.println(4 / i);
                      System.out.println(args[2]);
              } catch(RuntimeException ex) {
                      System.out.println(ex.toString());
              } catch(ArrayIndexOutOfBoundsException ex) {
                      System.out.println("There is no third
    command                  line argument");
              }
    }
}
บลJอก     finally

 ภาษาจาวาม(ค(ยเวร8ด finally ท(<จะม(ช2ดค:าส,<งอยNIในบลJอกเพ<อระบ2ให1
               8
  โปรแกรมท:าช2ดค:าส,<งด,งกลIาวหล,งจากส>นส2ดการท:างานของช2ดค:าส,งใน
                                                               <
  บลJอก try หรอ catch
 ภาษาจาวาจะท*าช1ดค*าสงในบล2อก finally เสมอ แมวาจะม(ค*าสง return
  ในบล2อก try หร(อ catch กIอนกJตาม กรณเดยวทจะไมท*าช1ดค*าสงในบล2อก
  finally ค(อม(ค*าสง System.exit();
ตวอยางโปรแกรม
public class FinallyDemo {
    public static void main(String args[]) {
           try {
                   System.out.println(args[2]);
                   System.out.println("Hello");
           } catch(ArrayIndexOutOfBoundsException ex) {
                   System.out.println("There is no third
    argument");
           } finally {
                   System.out.println("Finish running the
    program");
           }
    }
}
ตวอยางโปรแกรม
public class FinallyDemoV2 {
   public static void main(String args[]) {
          FinallyDemoV2 obj = new FinallyDemoV2();
          obj.myMethod(args);
   }
   public int myMethod(String args[]) {
          try {
                  System.out.println(args[2]);
                  return 0;
          } catch(ArrayIndexOutOfBoundsException ex) {
                  System.out.println("There is no third
  argument");
          } finally {
                  System.out.println("Finish running the
  program");
                  return 1;
          }
   }
การจ,ดการก,บเมธอดท(สงออปเจJคประเภท Exception
                   < I
 เราสามารถจะจดการก,บออปเจ2คของ Exception โดยใชคลาสทเป"น
  superclass ของ Exception นนได อาทเชน เราสามารถจดการกบ
  FileNotFoundException โดยใช IOException หร(อ Exception
  แทนได
 การจดการก,บ Exception มสองแบบ ค(อ
   •   ใชค*าสง try/catch
   •   ใชค*าสง throws ในการประกาศเมธอดท(จะม(การเร(ยกใช1เมธอดใดๆท(อาจสIง
                                        <                        <
       ออปเจJคประเภท Exception
ค:าส,<ง throws
 รNปแบบการใช1ค:าส,<ง throws ม(ด,งน(>
      [modifier] return_type methodName([arguments]) throws
                                  ExceptionType[,ExceptionType2] {
             ...
      }

 ตวอยาง
      public void openfile(String s) throws
                            FileNotFoundException {
             ...
      }
ค:าส,<ง throws
 เมธอดใดๆสามารถทจะจดการก,บ Exception โดยใชค*าสง throws ได
  มากกวาหนงประเภท
 ต,วอยIาง
      public void openFile(String s)throws
            FileNotFoundException,UnknownHostException {
                   ...
       }

 กรณทมการใชค*าสง throws สงตอไปเร(อยๆ แลวเมธอด main() ซ=<งเร(ยก
  ใช1เมธอดส2ดท1ายท(<ใช1ค:าส,ง throws ไมIม(การจ,ดการก,บออปเจJคประเภท
                            <
  Exception ด,งกลIาว โปรแกรมจะเกดข1อผดพลาดในข,นตอนการร,น
                                              >
  โปรแกรม เม<อม(ข1อผดพลาดของออปเจJคประเภท Exception ด,งกลIาวเกดข=>น
ตวอยางโปรแกรมท(<ไมIม(การจ,ดการก,บ Exception
 public class ExceptionDemo1 {
        public static void main(String args[]) {
                ExceptionDemo1 ex1 = new ExceptionDemo1();
                ex1.method1();
        }
        public void method1() throws ArithmeticException {
                method2();
        }
        public void method2() throws ArithmeticException {
                System.out.println(2/0);
        }
 }
กฎของการก:าหนดเมธอดแบบ overriden
 เมธอดแบบ overriden จะไมIอน2ญาตให1ม(การจ,ดการออปเจJคประเภท
  Exception โดยใช1ค:าส,<ง throws มากชนดกวIาท(<เมธอดเดมจ,ดการอยNIได1
ตวอยางโปรแกรมท(<มเมธอดแบบ overriden ท(<ถNกต1อง
                 (
 import java.io.*;

 public class Parent {
         public void myMethods() throws IOException { }
 }
 ___________________________________________________________

 public class OverrideException extends Parent{
         public void myMethods() throws IOException {
                 new FileInputStream("temp.txt");
         }
 }
ตวอยางโปรแกรมท(มเมธอดแบบ overriden ท(<ไมIถNกต1อง
               < (
  import java.io.*;

  public class Parent {
    public void myMethods() throws FileNotFoundException { }
  }
  __________________________________
  public class OverrideExceptionV2 extends Parent {
          public void myMethods() throws
                          FileNotFoundException,IOException {
                  new FileInputStream("temp.txt");
          }
  }
การสรางคลาสประเภท Exception ขนใหม
 การสร1างคลาสประเภท Exception ข=>นมาใหมI สามารถท:าได1โดยนยามคลาส
  ใดๆให1สบทอดมาจากคลาสท(<ช<อ Exception
 โดยท,วไปคลาสท(<ช<อ Exception จะม( constructor สองรNปแบบคอ
       <
   •   public Exception()
   •   public Exception(String s)

 ด,งน,นคลาสท(<สบทอดมาจากคลาสท(<ช<อ Exception ควรจะม( constructor
       >
  ท,งสองแบบ โดยรNปแบบหน=งจะม( argument ท(ม(ชนดข1อมNลเปLน String
    >                      <                  <
  และม(ค:าส,<งแรกใน constructor เปLนค:าส,<ง super(s);
ตวอยางคลาสประเภท Exception ท(ก:าหนดขนใหม
                             <
public class MyOwnException extends Exception {
       public MyOwnException (String s) {
              super(s);
       }
}
การเข(ยนเมธอดเพ<อสIงออปเจJคประเภท Exception
 เมธอดท(ต1องการสIงออปเจJคประเภท Exception
         <                                           เม<อเกดข1อผดพลาดข=นใน
                                                                       >
  ค:าส,งใด จะต1องเร(ยกใช1ค:าส,<งท(ช<อ
       <                          <     throw   เพ<อจะสร1างออปเจJคของคลาส
  ประเภท Exception ข=นมา
                       >
 รNปแบบ
      throw new ExceptionType([arguments])
 นอกจากน(>ค:าส,งประกาศเมธอดน,นจะต1องม(ค:าส,ง throws เพ<อก:าหนดให1ค:า
                <             >             <
  ส,งในเมธอดอ<นๆท(เร(ยกใช1เมธอดน(ต1องเข(ยนค:าส,<งในการจ,ดการก,บข1อผด
    <             <              >
  พลาดน(>
ตวอยางคลาส FileHandler
import java.io.*;

public class FileHandler {
    public static void openFile(String filename) throws
                                            MyOwnException {
         File f = new File(filename);
         if (!f.exists()) {
                throw new MyOwnException("File Not Found");
         }
    }
}
ตวอยางโปรแกรมท(มการจ,ดการก,บข1อผดพลาด
               < (
public class FileOpener {
    public static void main (String args[]) {
          try {
                  FileHandler.openFile(args[0]);
                  System.out.println("Open successful");
          } catch (MyOwnException ex) {
                  System.err.println(ex);
          }
    }
}
สร2ปเน>อหาของบท
 ข1อด(ประเภทหน=<งของภาษาจาวาคอ เราสามารถเข(ยนโปรแกรมให1ม(การ
    ตรวจจ,บและจ,ดการก,บข1อผดพลาดท(อาจเกดข=นได1 โดยท(<การท:างานไมIตอง
                                  <       >                       1
    หย2ดลง
   Error เป"นขอผดพลาดทไมสามารถแกไขและจดการได สIวน Exception
  เป"นขอผดพลาดทสามารถแกไขหร(อจดการได
 ค:าส,ง try และ catch เปLนค:าส,งท(ใช1ในการตรวจจ,บและจ,ดการก,บข1อผด
       <                        < <
  พลาดท(อาจเกดข=นได1 โดยบลJอกค:าส,<ง catch สามารถม(ได1มากกวIาหน=ง
          <       >                                              <
  บลJอกส:าหร,บในแตIละบลJอกค:าส,<ง try
 ค:าส,ง finally เปLนค:าส,<งท(อยNIตอจากค:าส,<ง try/catch ถNกเร(ยกใช1เสมอ
       <                      < I
    ยกเว1นเจอค:าส,ง System.exit(0); กIอนเทIาน,>น
                  <
สร2ปเน>อหาของบท
 ค*าสง throws จะใสIไว1ตรงค*าสงประกาศเมธอด ส:าหร,บเมธอดท(<ยงไมI
                                                           ,
  ต1องการจ,ดการก,บข1อผดพลาดแตIจะให1เมธอดทเรยกใช1เมธอดน(> เป"นตว
  จดการแทน
 เราสามารถสร1างคลาสประเภท Exception ชนดใหมIขนได1 โดยจะต1อง
                                             =>
  สบทอดมาจากคลาสท(ช<อ Exception และต1องม(การเร(ยกใช1 Constructor
                  <
  ของคลาส Exception ด1วย
แบบฝVกห,ด
 ข1อท(< 1
    •   ทดลองเข(ยนโปรแกรมเพ<อจ,ดการก,บข1อผดพลาด อาทเชIน IOException
        ArrayIndexOutOfBoundsException

 ข1อท(< 2
    •   ทดลองเข(ยนโปรแกรมเพ<อสร1างคลาสของข1อผดพลาดข=>นมาใหมI โดยยกต,วอยIาง
        โปรแกรม Account

More Related Content

PDF
Java Programming: การจัดการกับเหตุการณ์กราฟิก
Thanachart Numnonda
 
PDF
Java Programming: โครงสร้างควบคุม
Thanachart Numnonda
 
PPT
Java Programming [9/12]: Exception Handling
IMC Institute
 
PDF
Java Programming: คลาสอินพุตและเอาต์พุต
Thanachart Numnonda
 
PDF
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
 
PPT
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Anekwong Yoddumnern
 
PPT
Java Programming [12/12] : Thread
IMC Institute
 
PDF
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Thanachart Numnonda
 
Java Programming: การจัดการกับเหตุการณ์กราฟิก
Thanachart Numnonda
 
Java Programming: โครงสร้างควบคุม
Thanachart Numnonda
 
Java Programming [9/12]: Exception Handling
IMC Institute
 
Java Programming: คลาสอินพุตและเอาต์พุต
Thanachart Numnonda
 
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
 
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Anekwong Yoddumnern
 
Java Programming [12/12] : Thread
IMC Institute
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Thanachart Numnonda
 

What's hot (20)

PPT
Java Programming [8/12] : Arrays and Collection
IMC Institute
 
PDF
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Thanachart Numnonda
 
PDF
ความรู้เบื้องต้นภาษาจาวา
Thanachart Numnonda
 
PDF
Java Programming: หลักการเชิงอ็อบเจกต์
Thanachart Numnonda
 
PDF
Java-Answer Chapter 05-06 (For Print)
Wongyos Keardsri
 
PDF
พื้นฐานภาษาจาวา
JK133
 
PDF
พื้นฐานภาษาจาวา
Sarocha Makranit
 
PDF
Java-Answer Chapter 05-06
Wongyos Keardsri
 
PDF
Java AWT
Thanachart Numnonda
 
PPTX
Php เงื่อนไขต่างๆ
Jaemjan Sriarunrasmee
 
PPT
พื้นฐานภาษาจาวา
Aeew Autaporn
 
PDF
7 2โครงสร้าง
Supaksorn Tatongjai
 
PDF
Java-Answer Chapter 12-13 (For Print)
Wongyos Keardsri
 
PPT
Java Programming [4/12] : Object Oriented Concept
IMC Institute
 
PDF
Java-Chapter 01 Introduction to Java Programming
Wongyos Keardsri
 
PDF
บทที่ 5 คลาส
Theeravaj Tum
 
PPT
Computer Programming 2.2
Saranyu Srisrontong
 
PDF
Java-Answer Chapter 01-04 (For Print)
Wongyos Keardsri
 
PDF
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Finian Nian
 
Java Programming [8/12] : Arrays and Collection
IMC Institute
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Thanachart Numnonda
 
ความรู้เบื้องต้นภาษาจาวา
Thanachart Numnonda
 
Java Programming: หลักการเชิงอ็อบเจกต์
Thanachart Numnonda
 
Java-Answer Chapter 05-06 (For Print)
Wongyos Keardsri
 
พื้นฐานภาษาจาวา
JK133
 
พื้นฐานภาษาจาวา
Sarocha Makranit
 
Java-Answer Chapter 05-06
Wongyos Keardsri
 
Php เงื่อนไขต่างๆ
Jaemjan Sriarunrasmee
 
พื้นฐานภาษาจาวา
Aeew Autaporn
 
7 2โครงสร้าง
Supaksorn Tatongjai
 
Java-Answer Chapter 12-13 (For Print)
Wongyos Keardsri
 
Java Programming [4/12] : Object Oriented Concept
IMC Institute
 
Java-Chapter 01 Introduction to Java Programming
Wongyos Keardsri
 
บทที่ 5 คลาส
Theeravaj Tum
 
Computer Programming 2.2
Saranyu Srisrontong
 
Java-Answer Chapter 01-04 (For Print)
Wongyos Keardsri
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Finian Nian
 
Ad

Similar to Java Programming: การจัดการกับข้อผิดพลาด (20)

PDF
บทที่ 11 การดักจับข
Theeravaj Tum
 
PDF
Creating And Using Exceptions
CC Nakhon Pathom Rajabhat University
 
PDF
Creating And Using Exceptions
CC Nakhon Pathom Rajabhat University
 
PPT
Java Programming [2/12] : Overview of Java Programming Language
IMC Institute
 
PDF
Java-Chapter 06 File Operations
Wongyos Keardsri
 
PDF
การตรวจสอบและจัดการกับข้อผิดพลาดใน VB..NET 2005 Express Editor
Warawut
 
PDF
พื้นฐานโปรแกรมภาษาจาวา
Thanachart Numnonda
 
PDF
บทที่ 3 พื้นฐานภาษา Java
Itslvle Parin
 
PDF
บทที่ 3 พื้นฐานภาษา Java
Itslvle Parin
 
DOC
Chapter3
Parkae' Kusuma
 
PPTX
บทที่ 8 Methods
Kanchana Theugcharoon
 
PDF
Java-Chapter 08 Methods
Wongyos Keardsri
 
PPT
Java intro
zanotsuke
 
PPTX
METHODS
kessara61977
 
PPTX
Computer Programming 4
Saranyu Srisrontong
 
PPTX
Lab Computer Programming 1
Saranyu Srisrontong
 
PPTX
Computer Programming 3
Saranyu Srisrontong
 
PDF
Power point
Pookie Pook
 
บทที่ 11 การดักจับข
Theeravaj Tum
 
Creating And Using Exceptions
CC Nakhon Pathom Rajabhat University
 
Creating And Using Exceptions
CC Nakhon Pathom Rajabhat University
 
Java Programming [2/12] : Overview of Java Programming Language
IMC Institute
 
Java-Chapter 06 File Operations
Wongyos Keardsri
 
การตรวจสอบและจัดการกับข้อผิดพลาดใน VB..NET 2005 Express Editor
Warawut
 
พื้นฐานโปรแกรมภาษาจาวา
Thanachart Numnonda
 
บทที่ 3 พื้นฐานภาษา Java
Itslvle Parin
 
บทที่ 3 พื้นฐานภาษา Java
Itslvle Parin
 
Chapter3
Parkae' Kusuma
 
บทที่ 8 Methods
Kanchana Theugcharoon
 
Java-Chapter 08 Methods
Wongyos Keardsri
 
Java intro
zanotsuke
 
METHODS
kessara61977
 
Computer Programming 4
Saranyu Srisrontong
 
Lab Computer Programming 1
Saranyu Srisrontong
 
Computer Programming 3
Saranyu Srisrontong
 
Power point
Pookie Pook
 
Ad

More from Thanachart Numnonda (20)

PDF
Thailand Digital Industry Survey Result 2021
Thanachart Numnonda
 
PDF
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
Thanachart Numnonda
 
PDF
Planning on Mobile Strategy
Thanachart Numnonda
 
PDF
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
Thanachart Numnonda
 
PDF
Software Trends Towards AEC 2015
Thanachart Numnonda
 
PDF
Personal Cloud
Thanachart Numnonda
 
PDF
How would cloud computing Effect to Software Industry?
Thanachart Numnonda
 
PDF
Impact of cloud computing to Asian IT Industry
Thanachart Numnonda
 
PDF
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
Thanachart Numnonda
 
PDF
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
Thanachart Numnonda
 
PDF
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
Thanachart Numnonda
 
PDF
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
Thanachart Numnonda
 
PDF
Cloud Computing กับการใช้งานในองค์กรต่างๆ
Thanachart Numnonda
 
PDF
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
Thanachart Numnonda
 
PDF
บทความ Google vs. Android
Thanachart Numnonda
 
PDF
IT trends for co-creation
Thanachart Numnonda
 
PDF
Technology Trends & The Impact for Software Industry
Thanachart Numnonda
 
PDF
อยากอยู่ 110 ปี
Thanachart Numnonda
 
PDF
Intermediate Java Programming Language (in Thai)
Thanachart Numnonda
 
Thailand Digital Industry Survey Result 2021
Thanachart Numnonda
 
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
Thanachart Numnonda
 
Planning on Mobile Strategy
Thanachart Numnonda
 
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
Thanachart Numnonda
 
Software Trends Towards AEC 2015
Thanachart Numnonda
 
Personal Cloud
Thanachart Numnonda
 
How would cloud computing Effect to Software Industry?
Thanachart Numnonda
 
Impact of cloud computing to Asian IT Industry
Thanachart Numnonda
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
Thanachart Numnonda
 
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
Thanachart Numnonda
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
Thanachart Numnonda
 
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
Thanachart Numnonda
 
Cloud Computing กับการใช้งานในองค์กรต่างๆ
Thanachart Numnonda
 
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
Thanachart Numnonda
 
บทความ Google vs. Android
Thanachart Numnonda
 
IT trends for co-creation
Thanachart Numnonda
 
Technology Trends & The Impact for Software Industry
Thanachart Numnonda
 
อยากอยู่ 110 ปี
Thanachart Numnonda
 
Intermediate Java Programming Language (in Thai)
Thanachart Numnonda
 

Java Programming: การจัดการกับข้อผิดพลาด