c++異常處理格式
今天看了下c++異常處理格式,現用判斷char字元是否是數字來使用異常處理,上程式碼
class NumberParseException {};//自定義一個異常類,用來catch
bool isNumber(char * str) {
using namespace std;
if (str == NULL)
return false;
int len = strlen(str);
if (len == 0)
return false;
bool isaNumber = false;
char ch;
for (int i = 0; i < len; i++) {
if (i == 0 && (str[i] == '-' || str[i] == '+'))
continue;
if (isdigit(str[i])) {
isaNumber = true;
} else {
isaNumber = false;
break;
}
}
return isaNumber;
}
int parseNumber(char * str) throw(NumberParseException) { //這樣宣告在使用parseNumber()函式時不滿足條件自動throw();
if (!isNumber(str))
throw NumberParseException();
return atoi(str);
}
int main()
{
char *str1 = "1", *str2 = NULL;
try {
int num1 = parseNumber(str1);
int num2 = parseNumber(str2);
printf("sum is %d\n", num1 + num2);
} catch (NumberParseException) {
printf("輸入不是整數\n");
}
}
相關文章
- C++ 異常處理C++
- C++異常處理C++
- c++ 異常處理(2)C++
- c++ 異常處理(1)C++
- c++異常處理 (轉)C++
- C++異常處理機制C++
- windows核心程式設計---未處理異常,向量化異常處理與C++異常Windows程式設計C++
- 【C++】 C++異常捕捉和處理C++
- C++ 異常處理機制詳解:輕鬆掌握異常處理技巧C++
- C++錯誤和異常處理C++
- C++整理19_異常處理C++
- 異常篇——異常處理
- Linux 下 C++ 異常處理技巧LinuxC++
- C++異常處理與臨時副本C++
- C++和結構化異常處理C++
- 29.Spring Boot中異常處理與REST格式處理Spring BootREST
- 異常處理
- 【C++】 63_C語言異常處理C++C語言
- C++ 異常處理機制的實現C++
- C與C++中的異常處理 (轉)C++
- 異常-throws的方式處理異常
- 異常處理與異常函式函式
- JavaScript 異常處理JavaScript
- ThinkPHP 異常處理PHP
- React 異常處理React
- 08、異常處理
- JAVA 異常處理Java
- JAVA異常處理Java
- Abp 異常處理
- oracle異常處理Oracle
- PowerShell 異常處理
- plsql異常處理SQL
- Swift 異常處理Swift
- JS異常處理JS
- app異常處理APP
- Oracle 處理異常Oracle
- MySQL異常處理MySql
- 異常處理 (轉)