溫馨提示×

如何處理getchar的輸入異常

小樊
85
2024-10-10 15:22:55
欄目: 編程語言

getchar 函數(shù)在讀取輸入時可能會遇到異常情況,例如輸入流關(guān)閉、輸入錯誤等。為了處理這些異常,可以使用 try-catch 語句(C++)或 try-except 語句(Python)。

下面是使用 C++ 處理 getchar 輸入異常的示例:

#include <iostream>
#include <limits>

int main() {
    int ch;
    std::cout << "請輸入一個字符: ";

    try {
        ch = getchar();
        if (ch == EOF) {
            throw std::runtime_error("輸入流關(guān)閉");
        }
        std::cout << "你輸入的字符是: " << ch << std::endl;
    } catch (const std::runtime_error& e) {
        std::cerr << "發(fā)生異常: " << e.what() << std::endl;
    }

    return 0;
}

在這個示例中,我們使用 try 塊包裹 getchar() 函數(shù)調(diào)用。如果 getchar() 返回 EOF,我們拋出一個 std::runtime_error 異常。在 catch 塊中,我們捕獲這個異常并輸出異常信息。

下面是使用 Python 處理 getchar 輸入異常的示例:

try:
    ch = input("請輸入一個字符: ")
    if ch == "":
        raise EOFError("輸入流關(guān)閉")
    print(f"你輸入的字符是: {ch}")
except EOFError as e:
    print(f"發(fā)生異常: {e}")

在這個示例中,我們同樣使用 try 塊包裹 input() 函數(shù)調(diào)用。如果用戶直接按下回車鍵,input() 函數(shù)將返回空字符串。我們拋出一個 EOFError 異常并在 except 塊中捕獲它。

0