當前位置:首頁 » 編程語言 » c語言trycatch

c語言trycatch

發布時間: 2022-05-20 03:40:55

① 關於c語言中的try語句

C語言是沒有try語句的,還有,你這個地方也就算是一個函數(在C語言裡面你寫的這個try只能是函數)
有語法錯誤,幫你改了,你自己再看看
#include<stdio.h>
void try(int,int,int);
int main()
{
int x=2,y=3,z=0; //y=3
printf("(1)x=%d y=%d z=%d\n",x,y,z);
try(x,y,z);
printf("(4)x=%d y=%d z=%d\n",x,y,z);
}
void try(int x,int y,int z)
{
printf("(2)x=%d y=%d z=%d\n",x,y,z);
z=x+y;
x=x*x;
y=y*y;
printf("(3)x=%d y=%d z=%d\n",x,y,z);
}
一點補充:最開始我運行你這個程序是在一個.cpp文件裡面寫的代碼,然後運行,但是程序會報錯,為什麼呢?因為cpp一般而言是C++的文件,C++裡面有try語句,try是他的一個關鍵字,所以函數名不能是關鍵字,程序報錯了。
但是在一個.c文件裡面是沒有問題的~~
還有,你這個真心是一個函數,不是try語句,try語句是

try
{
do something
}
catch(some error)
{
do something
}

② C語言如何用throw在程序中拋出異常 try-catch又怎麼用

不是 catch只是為了捕獲到異常而進行處理 如果你不需要處理異常的話 就不用try-catch了 直接throw就可以了 或者是你覺得可能會有異常 但是這異常是由於程序解決不了的 不如資料庫鏈接不上了 那你就throw異常 然後輸出異常就可以了 !

③ c++中 try 和catch的用法

1、在c++中,可以直接拋出異常之後自己進行捕捉處理,如:(這樣就可以在任何自己得到不想要的結果的時候進行中斷,比如在進行資料庫事務操作的時候,如果某一個語句返回SQL_ERROR則直接拋出異常,在catch塊中進行事務回滾,用法:

#include <iostream> #include <exception>

using namespace std;

int main () {

try

{

throw 1;

throw "error";

}

catch(char *str)

{

cout << str << endl;

}

catch(int i)

{

cout << i << endl;

}

}

2、try 和catch定義異常類來進行處理:

#include <iostream> #include <exception>

using namespace std;

//可以自己定義Exception class myexception: public exception

{

virtual const char* what() const throw()

{

return "My exception happened";

}

}myex;

int main () {

try

{

if(true) //如果,則拋出異常;

throw myex;

}

catch (exception& e)

{

cout << e.what() << endl;

}

return 0;

}

(3)c語言trycatch擴展閱讀

c++的特點:

1、C++通過建立用戶定義類支持數據封裝和數據隱藏。

2、C++是支持數據封裝的工具,對象則是數據封裝的實現。

3、採用多態性為每個類指定表現行為。多態性形成由父類和它們的子類組成的一個樹型結構。

4、C++現有類的基礎上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結構,明確類間關系,並且充分利用已有的類來完成更復雜、深入的開發。新定義的類為子類,成為派生類。

④ 想問一下try catch 是不是C語言的語法還是僅在C++之後才引入的機制

c++的異常機制,c語言沒有
但實際在c++中基本不使用,因為影響編譯器生成的代碼的效率,使用異常機制的代碼編譯器很難去進行優化的。

⑤ c語言里try是什麼意思

C語言里try是一個語句或函數。其作用是是拋出錯誤用。
將有可能產生錯誤的語句括在一起,放入try語句塊。如果在try語句塊中發生異常,FlashPlayer會創建一個錯誤對象,並將該Error對象派發至第一個可用的catch塊。catch語句塊提供對錯誤的處理。如果沒有try語句,或者try語句沒有出現錯誤,則catch語句不會被引發。如果在try語句塊的其中某個語句中檢測到錯誤,則會執行附加到該try語句的catch語句。catch語句可以並列使用,即在一個try語句塊之後,存在多個catch語句塊,以處理不同的錯誤對象。
try語句是:
try
{
do
something
}
catch(some
error)
{
do
something
}

⑥ 如何捕捉在C語言中的整數除零例外

C語言並沒有try catch 這個是C++的
所以對於C語言 無法捕捉 只能在程序中避免
如果除數有可能為0,那麼在做除法或者模除%時,判斷一下除數
如果是0,則報錯

⑦ C語言里try是什麼意思

C語言里try是一個語句或函數。其作用是是拋出錯誤用。
將有可能產生錯誤的語句括在一起,放入try語句塊。如果在try語句塊中發生異常,FlashPlayer會創建一個錯誤對象,並將該Error對象派發至第一個可用的catch塊。catch語句塊提供對錯誤的處理。如果沒有try語句,或者try語句沒有出現錯誤,則catch語句不會被引發。如果在try語句塊的其中某個語句中檢測到錯誤,則會執行附加到該try語句的catch語句。catch語句可以並列使用,即在一個try語句塊之後,存在多個catch語句塊,以處理不同的錯誤對象。
try語句是:

try
{
do something
}
catch(some error)
{
do something
}

⑧ c++中try後一定要跟catch嗎

Unix(包括Linux)下的C語言編程中是不會使用try catch的,的確C也沒有這個語法。然而當運行時的錯誤異常被拋出時,系統會產生信號發送給進程,如果進程沒有做信號響應函數的話,就會被中斷運行並且產生core文件,通過core文件可以查看程序的崩潰原因、當時的調用堆棧、當時的變數值等等信息,當然這是另外一個話題。
因此在Unix下,與try catch起到相似作用的東西就是信號相應函數。相關的使用方法大體包括如下內容:
1、信號安裝
signal();
sigaction();
2、發送信號函數
int raise(int sig);
int pause(void);
int kill(pid_t pid,int sig);
unsigned int alarm(unsigned int seconds);
int sigqueue(pid_t pid,int sig,const union sigval val);
int setitimer(int which,const struct itimerval *value,struct itimerval *oldvalue);
void abort(void)
3、信號集及信號集操作
sigfillset(sigset_t *set);
sigemptyset(sigset_t *set);
sigaddset(sigset_t *set,int sig);
sigdelset(sigset_t *set,int sig);
4、阻塞信號相關函數
int sigprocmask(int how,const sigset_t *set,sigset_t *set);
int sigpending(sigset_t *set);
int sigsuspend(const sigset_t *set);
具體使用方法可參考相應文檔

⑨ c語言退出一個函數除了用return 還有什麼方法

沒有了
類似的只有函數自然結束的最後一個},也表示函數退出
再么強制中止程序的exit(0);偶爾會用它來做錯誤處理,結束程序。

⑩ 用C語言實現try {}catch 利用宏定義,longjmp,setjmp實現類似try{}catch的異常處理

不容易解釋清楚,建議你參考《C標准庫》這本書,網上有下載,裡面有longjmp,setjmp使用方法的描述,很詳細。

熱點內容
深入編譯器 發布:2025-05-15 07:41:35 瀏覽:877
電信手機號服務密碼怎麼查 發布:2025-05-15 07:40:10 瀏覽:613
python全局變數文件 發布:2025-05-15 07:35:06 瀏覽:954
位元組和存儲位元組 發布:2025-05-15 07:32:10 瀏覽:521
linux應用開發工程師 發布:2025-05-15 07:32:07 瀏覽:261
sqldcl 發布:2025-05-15 07:29:18 瀏覽:199
canvas的圖像上傳 發布:2025-05-15 07:29:17 瀏覽:102
離線緩存為什麼點不動 發布:2025-05-15 07:27:17 瀏覽:829
釘鼎伺服器出口ip 發布:2025-05-15 07:13:08 瀏覽:279
移動硬碟和光碟哪個存儲時間長 發布:2025-05-15 07:04:25 瀏覽:489