多项选择题

A.抛出的异常会沿着函数调用栈向上传递,直到具备某种“throw”声明的函数,或者被catch语句捕捉,或者到达调用栈的顶层
B.在异常“向上传递”的过程中,每个栈帧内的对象都会析构
C.只要程序员不使用throw语句,C++程序就不会抛出异常
D.异常既可以整数,也可以是对象