4个回答
展开全部
C++中try是用来包围可能出现问题的代码区域的一个函数。和catch结合使用的,来捕捉程序中的异常。
捕获异常的代码一般如下:
try {
throw E();
}
catch (H h) {
//何时我们可以能到这里呢
}
1.如果H和E是相同的类型
2.如果H是E的基类
3.如果H和E都是指针类型,而且1或者2对它们所引用的类型成立
4.如果H和E都是引用类型,而且1或者2对H所引用的类型成立
从原则上来说,异常在抛出时被复制,我们最后捕获的异常只是原始异常的一个副本,所以我们不应该抛出一个不允许抛出一个不允许复制的异常。
此外,我们可以在用于捕获异常的类型加上const,就像我们可以给函数加上const一样,限制我们,不能去修改捕捉到的那个异常。
还有,捕获异常时如果H和E不是引用类型或者指针类型,而且H是E的基类,那么h对象其实就是H h = E(),最后捕获的异常对象h会丢失E的附加携带信息。
捕获异常的代码一般如下:
try {
throw E();
}
catch (H h) {
//何时我们可以能到这里呢
}
1.如果H和E是相同的类型
2.如果H是E的基类
3.如果H和E都是指针类型,而且1或者2对它们所引用的类型成立
4.如果H和E都是引用类型,而且1或者2对H所引用的类型成立
从原则上来说,异常在抛出时被复制,我们最后捕获的异常只是原始异常的一个副本,所以我们不应该抛出一个不允许抛出一个不允许复制的异常。
此外,我们可以在用于捕获异常的类型加上const,就像我们可以给函数加上const一样,限制我们,不能去修改捕捉到的那个异常。
还有,捕获异常时如果H和E不是引用类型或者指针类型,而且H是E的基类,那么h对象其实就是H h = E(),最后捕获的异常对象h会丢失E的附加携带信息。
展开全部
一般将可能出现异常的语句放在try{}中,当运行出现异常时,系统会抛出异常,再用catch{}来捕获抛出的异常。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try是和catch结合使用的,目的是捕捉异常。
可以百度一下“C++ 异常处理”
可以百度一下“C++ 异常处理”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
异常处理函数:
try函数:用来包围可能出现问题的代码区域。格式如:
try //也就是说,如果你觉得那些代码可能会出错,你就用try函数包围起来。
{ 内嵌throw语句的语句; }
throw语句:用于抛出异常。
catch函数:用于处理try快中throw语句抛出的异常。格式如:
catch(...) //在使用catch函数时,要注意参数问题,不同类型的异常要用不同类型的参数。
{ 匹配throw抛出的任意类型语句; } //参数内用三点表示可以接收所有类型的异常。
C++中的异常处理就是通过这三个语句来实现的,使用异常处理可以减少很多错误。
try函数:用来包围可能出现问题的代码区域。格式如:
try //也就是说,如果你觉得那些代码可能会出错,你就用try函数包围起来。
{ 内嵌throw语句的语句; }
throw语句:用于抛出异常。
catch函数:用于处理try快中throw语句抛出的异常。格式如:
catch(...) //在使用catch函数时,要注意参数问题,不同类型的异常要用不同类型的参数。
{ 匹配throw抛出的任意类型语句; } //参数内用三点表示可以接收所有类型的异常。
C++中的异常处理就是通过这三个语句来实现的,使用异常处理可以减少很多错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询