关于例外啊!还有怎么自己定义例外呢!分不够再给啊!期望得到高手的精髓理解阿

guaigm 2004-09-19 11:17:01
我想知道如果在方法上throw是不是如果例外了程序还会运行下去啊?还有就是如果throw就可以不用try catch啊!还有可不可以一部分throw一部分try catch啊
...全文
104 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
conquer2004 2004-10-09
  • 打赏
  • 举报
回复
建议找这方面的书再看一下,好像你在这方面看的很少。
其实有些书上面会写的很详细的。
如Bruce Eckel 的Thinking in Java
guaigm 2004-10-08
  • 打赏
  • 举报
回复
55同时谢谢大家阿
guaigm 2004-10-08
  • 打赏
  • 举报
回复
期待高手啊
guaigm 2004-10-08
  • 打赏
  • 举报
回复
55还是乱啊
redlaputa 2004-09-20
  • 打赏
  • 举报
回复
我想知道如果在方法上throw是不是如果例外了程序还会运行下去啊?
不是,如果异常,就会抛出异常,跳出程序

还有就是如果throw就可以不用try catch啊!
如果方法后面加上throw,可以不用

还有可不可以一部分throw一部分try catch啊
无论何时,只会抛出一个异常
但是代码里,可以这样一部分throw一部分try catch
注意catch必须把最大范围的异常放在最后
双杯献酒 2004-09-20
  • 打赏
  • 举报
回复
// 例子
// VC 6.0

#include <iostream>
using namespace std;

int main()
{
try
{
int data1;
int data2;
int data3;
cin >> data1;
cin >> data2;
cin >> data3;
if(data2 == 0)
{
throw "data2不可以为0啊!";
}
cout << "data1/data2 = " << data1/data2 << endl;
if(data3 == 0)
{
throw "data3不可以为0啊!";
}
cout << "data1/data3 = " << data1/data3 << endl;
}
catch(const char* pMsg)
{
// 显示被throw的信息
cout << pMsg << endl;
}
return 0;
}
// 运行1
/*
6
3
2
data1/data2 = 2
data1/data3 = 3
*/

// 运行2
/*
6
3
0
data1/data2 = 2
data3不可以为0啊!
*/

// 运行3
/*
6
0
3
data2不可以为0啊!
*/
双杯献酒 2004-09-20
  • 打赏
  • 举报
回复
我想您还没有完全明白try catch和throw是干什么的。
stonecsdn 2004-09-20
  • 打赏
  • 举报
回复
在调用该方法的方法或者对象中使用trycatch捕获并处理
stonecsdn 2004-09-20
  • 打赏
  • 举报
回复
如果你想在发生异常的地方做一些相应的处理,那么使用try catch,如果你想让调用该方法的方法或者对象处理异常,那么使用throw
无欲则钢 2004-09-19
  • 打赏
  • 举报
回复
你THROW了以后,上面的类会TRY CATCH的,如果有异常,必须要TRY CATCH

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧