雖然沒準備什麼資料
  • JS魔法學院
    • JS表單
    • 教程
    • 練習題
  • AI
  • 程式相關
    • CSS
    • Javascript
  • 試題與解答
    • 微生物免疫
    • 化學
    • 生物輸送
  • 台式外語
    • 韓國語
    • 日本語
  • 有趣網站
首頁 » JavaScript 錯誤處理:try…catch 練習題目與答案
練習題

JavaScript 錯誤處理:try…catch 練習題目與答案

by Jamic 2024-05-27
2.4K

練習題目 1:基本錯誤處理

題目描述:寫一個函數,接收一個物件並返回其屬性的值。如果屬性不存在,拋出錯誤並在 catch 區塊中處理。

function getProperty(obj, prop) {
  try {
    if (!(prop in obj)) {
      throw new Error(`屬性 '${prop}' 不存在`);
    }
    return obj[prop];
  } catch (error) {
    console.error(error.message);
  }
}

// 測試
const person = { name: 'John', age: 30 };

console.log(getProperty(person, 'name')); // John
console.log(getProperty(person, 'gender')); // 錯誤:屬性 'gender' 不存在

練習題目 2:數字解析器

題目描述:改進 parseNumber 函數,使其不僅能解析整數,還能解析浮點數,並在錯誤時顯示自定義錯誤訊息。

function parseNumber(str) {
  try {
    let num = parseFloat(str); // 使用 parseFloat 來解析浮點數
    if (isNaN(num)) {
      throw new Error("這不是一個有效的數字");
    }
    console.log("解析成功,數字是:" + num);
  } catch (error) {
    console.error("錯誤:" + error.message);
  }
}

// 測試
parseNumber("123.45");  // 解析成功,數字是:123.45
parseNumber("abc");     // 錯誤:這不是一個有效的數字

練習題目 3:API 請求

題目描述:模擬一個 API 請求,使用 try...catch 來處理可能的網路錯誤或解析錯誤,並確保 finally 區塊中記錄請求結束時間。

async function fetchData(url) {
  try {
    let response = await fetch(url);
    if (!response.ok) {
      throw new Error(`HTTP 錯誤!狀態碼:${response.status}`);
    }
    let data = await response.json();
    console.log("取得的資料:", data);
  } catch (error) {
    console.error("錯誤:", error.message);
  } finally {
    console.log("API 請求結束時間:" + new Date().toLocaleTimeString());
  }
}

// 測試
fetchData('https://jsonplaceholder.typicode.com/posts/1')
  .then(() => console.log('請求完成'));

探索更多來自 雖然沒準備什麼資料 的內容

訂閱即可透過電子郵件收到最新文章。

分享 0 FacebookTwitterLINEEmail

留個言 取消回覆

將姓名、email存到這個瀏覽器,以便下次使用

使用電子郵件訂閱網站

輸入你的電子郵件地址訂閱網站的新文章,使用電子郵件接收新通知。

最新文章

  • React useRef × BootStrap Modal 筆記

    2026-01-14
  • 7-11 雙蔬鮪魚飯糰

    2025-10-30
  • 保持專注的秘訣

    2025-10-29
  • Cursor Zeabur 插件 vs GitHub 綁定部署

    2025-07-30
  • Product Brief Template — AI 建構式應用產品

    2025-07-10

文章分類

  • JS魔法學院 (7)
    • JS表單 (1)
    • 教程 (4)
    • 練習題 (2)
  • React教學 (1)
    • BootStrap (1)
  • soledad佈景主題 (1)
    • 單篇文章 (1)
  • Vue3學院 (2)
    • watch (1)
    • 設定 (1)
  • Wordpress外掛介紹 (1)
  • 台式外語 (5)
    • 日本語 (3)
    • 英語 (1)
    • 韓國語 (1)
  • 外食成份 (1)
  • 好書介紹 (3)
  • 小孩相關 (1)
  • 投資理財 (11)
    • 定存 (2)
    • 股票 (9)
      • 台股 (1)
      • 美股 (3)
  • 效率 (1)
  • 有趣網站 (1)
  • 未分類 (1)
  • 程式相關 (11)
    • AI (5)
    • CSS (1)
    • google sheets (1)
    • Javascript (1)
    • 豆知識 (2)
  • 網站部署 (1)
  • 試題與解答 (12)
    • 儀器分析 (1)
    • 專利研究 (2)
    • 微生物免疫 (8)
    • 醫用統計學 (1)

網站統計

  • 0
  • 3
  • 3
  • 188
  • 6,424
  • 4,583
  • 59
  • 2026-01-14

© 2023 雖然沒準備什麼資料

雖然沒準備什麼資料
  • JS魔法學院
    • JS表單
    • 教程
    • 練習題
  • AI
  • 程式相關
    • CSS
    • Javascript
  • 試題與解答
    • 微生物免疫
    • 化學
    • 生物輸送
  • 台式外語
    • 韓國語
    • 日本語
  • 有趣網站