C++的异常处理中,在一个try -catch 中,可以只有try块而无catch块吗?

2025-05-01 18:48:36
推荐回答(2个)
回答(1):

你这个教科书是权威的教科书么。。不过他的这个说法可以再解释一下,也可以说的通,try后面接catch是必须的,不可能单有try没有catch,不过在catch到异常信息后,可以再catch的逻辑处理中,加入一个捕获异常信息的处理逻辑。

try{
    //执行的语句
}catch(Exception e){
    dealException();
}

void dealException(){
    //处理异常的逻辑
}

如果教材上的意思是上面代码所说的没有问题,如果真的是单有try,没有直接进行catch捕获,而是放到其他函数中catch,那不符合语法规范,肯定是不对的。

回答(2):

C++没有这种单有try的语法。try会告诉编译器准备临时退栈代码,然后用catch捕捉退栈时传出的异常对象