日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++之异常处理

發(fā)布時間:2025/3/20 c/c++ 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++之异常处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C++異常處理方式:


C++異常處理使用了三個關(guān)鍵字:try,throw,catch。try-catch塊的形式如下:


try { //包含可能拋出的異常的語句; } catch(類型名[形參名])//捕獲特定類型的異常 { //處理異常的語句; }
try ? ?塊:將有可能出現(xiàn)異常的語句包含在try塊中

catch塊:捕獲并處理,捕獲和處理的條件是拋出的異常類型與catch塊參數(shù)類型相匹配

注意:并不是使用了try塊包含可能出現(xiàn)異常的代碼后,程序就不會崩潰,通常還需要進(jìn)行兩個操作:

(a)滿足某個條件就顯示的拋出(throw)一個異常

(b)使用catch塊來匹配拋出的異常類型


//在函數(shù)進(jìn)行封裝時,一般使用try catch,而一般情況下很少使用,通過if判斷語句進(jìn)行異常處理

#include "stdafx.h" #include<stdlib.h> #include<iostream>using namespace std;void f() {int a(5);int b(0);//1.顯示的拋出異常if (b == 0)throw "除數(shù)為0!";//拋出字符串//拋出異常后,下面的語句不再執(zhí)行//拋出的類型是可選的,比如拋出數(shù)字 404,那么將catch()改成catch(int code),比如網(wǎng)頁中顯示錯誤碼int c = a / b;cout << c << endl; } int main() {//f();//直接調(diào)用程序崩潰try//try塊中放置有可能出現(xiàn)異常的代碼塊{ f();}catch(const char *error)//參數(shù)要和拋出的異常類型匹配,throw中拋出的是字符串{ cout << error << endl;}//catch (...)//使用...可以捕獲throw拋出的任何類型的異常,有點像switch中的default通用性最強(qiáng),匹配性最差//{// cout << "所有異常均可以被捕獲!"<< endl;//}system("pause");return 0; }//catch (...)//使用...可以捕獲throw拋出的任何類型的異常,有點像switch中的default 通用性最強(qiáng),匹配性最差,因此通常將catch(...)放置在多個catch()捕獲的最后, //作為保底的捕獲方法,防止前面沒有可以匹配的異常處理


總結(jié)

以上是生活随笔為你收集整理的C++之异常处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。