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

guaigm 2004-09-19 11:17:01
我想知道如果在方法上throw是不是如果例外了程序还会运行下去啊?还有就是如果throw就可以不用try catch啊!还有可不可以一部分throw一部分try catch啊
...全文
66 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-19 11:17
社区公告
暂无公告