1. 程式人生 > >安得廣廈千萬間,大庇天下寒士俱歡顏!

安得廣廈千萬間,大庇天下寒士俱歡顏!

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
   }

帶引數的例項:
#include <stdio.h>
#include "exception.h"

void ExceptionTest(int ExpType)
{
	ExcepSign Ex;

	// 異常型別號用負值表示
	ExpType = ExpType > 0 ? -ExpType : ExpType;

	Try(Ex) {
		if (ExpType < 0) {
			Throw(Ex, ExpType);
		}
		else {
			printf("沒有異常\n");
		}
	} Catch(Ex, -1) {
		printf("異常型別:-1\n");
	} Catch(Ex, -2) {
		printf("異常型別:-2\n");
	} CatchElse(Ex) {
		printf("異常型別:未知(%d)\n", ExcepType(Ex));
	}
}

void Test(void)
{
	ExceptionTest(0); // 無異常
	ExceptionTest(1); // 異常1
	ExceptionTest(2); // 異常2
	ExceptionTest(3); // 異常3
}