⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 except-1.mm

📁 linux下编程用 编译软件
💻 MM
字号:
/* { dg-do run } *//* This tests that exceptions work.  It used to fail because   objc_msgSend was marked with DECL_NOTHROW.    If you include objc/Object.h, the problem goes away, because   that file includes objc/objc-runtime.h which explicitly prototypes   objc_msgSend without 'nothrow'.  */#include <stdio.h>#include <stdlib.h>@interface Object {  Class isa;  }+ alloc;- init;@end// ObjectiveC class header@interface ObjCclass : Object {}-(void)method1;-(void)method2;@end// C++ class headerclass CPPclass {public:	void function1();};// Mainint main(int argc, char *argv[]){	ObjCclass * foo = [[ObjCclass alloc] init];	[foo method1];	exit (0);}// ObjectiveC implementation@implementation ObjCclass-(void) method1{	try {		[self method2];	}	catch(...) {		return;	}}-(void) method2{	CPPclass foo;	foo.function1();}@end// C++ implementationvoid CPPclass::function1(){	throw (1);	/* Shouldn't be here because we threw.  */	abort ();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -