首先是它这个 箭头指向的 结构体名加上括号。 正常来讲,这是类层面上的构造函数的调用。 可是这是结构体,怎么会有构造函数呢? 我去网上搜索,没有十分准确的结果。
其次是,第一个catch段中,表明了自己接受 数据类型是MyException的变量,或者是指向一个MyException类型变量的引用。 try段中,被抛出的是个 貌似是一个构造函数的东西的返回值。 然而,运行结果表明这二者竟然是匹配的。
1 结构体struct和class一样可以定义类,只是struct的默认所有成员都是public的
2 catch就捕获try那对{}里面抛(throw)出来的异常,一个try可以对应多个catch,抛出来的异常和每个catch参数进行匹配,如果匹配上就用该catch。和C++的函数多态性一样,根据参数进行匹配的
1、结构体就是公有类;2、try抛出就是构造函数返回的异常累的实例,也就是抛出了这个类型的异常。所以能够在catch中捕获到这个异常。