iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
生成式 AI

生成式 AI 從入門到實作:用 ChatGPT 打造你的第一個 AI 幫手系列 第 6

Day 6:AI 幫你解釋 Java 錯誤 — 常見 Exception 與 Debug 技巧

  • 分享至 

  • xImage
  •  
  1. 常見的 Java Exception 舉例
    1️⃣ NullPointerException
    發生原因:程式嘗試使用一個尚未初始化的物件
    範例:
    String text;
    System.out.println(text.length());
    錯誤訊息:Exception in thread "main" java.lang.NullPointerException
    解法:先初始化物件
    String text = "";
    System.out.println(text.length());
    2️⃣ ArrayIndexOutOfBoundsException
    發生原因:存取陣列時索引超出範圍
    範例:
    int[] arr = {1, 2, 3};
    System.out.println(arr[3]);
    錯誤訊息:ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
    解法:索引從 0 開始,正確範圍是 0~2
    3️⃣ InputMismatchException
    發生原因:Scanner 輸入型別與程式要求不符
    範例:
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt(); // 輸入非整數
    錯誤訊息:InputMismatchException
    解法:輸入正確型別,或用 try-catch 處理錯誤

  2. 用ChatGPT幫你Debug
    AI 的強項之一就是 解釋錯誤訊息。
    你只要把錯誤訊息貼給ChatGPT,並附上程式碼,它就能幫你分析原因。
    範例Prompt
    我在Java程式裡遇到這個錯誤:
    Exception in thread "main" java.lang.NullPointerException
    程式碼如下:
    String text;
    System.out.println(text.length());
    請幫我解釋原因並提供修改方法。
    ChatGPT 可能回答:
    你嘗試使用一個尚未初始化的字串變數text,所以出現 NullPointerException
    解決方法:
    1.初始化text,例如 String text = "";
    2.或者在使用前確認 text != null
    3.Debug的基本流程
    讀懂錯誤訊息
    Exception 名稱、行號、描述。
    確認程式碼邏輯
    哪裡可能是 null?哪裡索引超出範圍?
    先嘗試自己修正
    改變變數初始化、修正索引或輸入型別
    必要時請 AI 幫忙
    讓 AI 幫你解釋訊息、提供範例修正

小技巧
加上行號提示:把完整錯誤訊息與程式碼行號給AI,分析會更準確。
逐步測試:先測單行程式,找出哪一行出錯,再修正。
結合 try-catch:對可能出錯的程式段落加上例外處理,AI可以示範寫法。
try {
System.out.println(text.length());
} catch (NullPointerException e) {
System.out.println("文字尚未初始化!");
}


上一篇
Day 5:用 ChatGPT 學 Java 基礎 — 變數、if、for
下一篇
Day 7:用 ChatGPT 寫 Word 報告 — 大綱、段落、摘要一次搞定
系列文
生成式 AI 從入門到實作:用 ChatGPT 打造你的第一個 AI 幫手7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言