抛出异常方式的区别? 当你有需要知道异常的时候可以用catch捕获.和和,这是我的理解,见笑了throws则直接抛弃吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例如:public void test() throws Exception { .... }在调用这个test()方法时,必须....try{ test();}catch(Exception e) {...... }即如果被抛出,必须在调用的时候对可能出现的异常做处理.public void test() { try{ ....}catch(Exception e) {...... }}调用的时候只是:test();就行了.只是处理位置不一样! 楼上最好也把checkedException和uncheckedException讲清楚.处理是不同的. 在方法签名之后的throws关键字表示一个约定,告诉编译器这个方法有可能会抛出一个或者多个异常对象。所以在编译代码的时候,编译器会方法的调用是否在try-catch-finally结构中,以确保如果抛出异常,它会得到处理。方法签名之后可以没有throws关键字,这样的话可以在方法体中在需要的时候随时抛出异常。 调用java的方法就像你叫一个人去办事,比如说你让他去买东西,那个人会警告你,买东西可以,但是会有问题,比如说你给的钱不够了,没有你要买的东西没有了什么的,这些可能它会在后面throws出来,虽然这些有可能不发生,但是你应该有应付这些情况的准备,如果你可以做主,你就要try catch住这些Exception,然后处理;如果你处理不了这些问题,那你也throw出去,是谁让你找人买的,你就交给他去处理(比如说你的老板)。这里catch 后有几个不好的习惯:一个就是遇到Exception不予处理,人家告诉你钱不够了,你不搭理人家,但等你用到让他买的东西的时候突然发现没买来,可就来不及了。第二个不好的习惯就是catch(Exception),由于Exception是所有异常的父类,也就是说所有的异常都会在这里被捕捉,然后下面相同的处理这样就像是不管人家告诉你有什么问题,你只要一听到问题两个字,就给他添钱,这样肯定是不对的,如果出的问题是没有你想要买的东西,添钱也不行还有就是大块的try ... catch 这样也不好,就像你先让那个人买东西,然后让他做饭,然后喂你吃饭(想起我mm来了,我好喜欢我mm)然后这三件事其中某一个出了问题,你也不问是哪个就直接给出解决办法,肯定是不合理的明白了吗 呵呵,楼上的楼上比喻经典!!看看Thinking in java就可以了。对异常处理没必要钻得太深! 虽然没必要钻得太深,但是有些问题一定要搞懂的。同意 binny(骑个破车看夕阳) 的看法,呵呵抛出异常是为了要让后面的人了解错误发生在哪里?所以造异常的时候也要注意这点了。 在方法签名之后的throws关键字表示一个约定,告诉编译器这个方法有可能会抛出一个或者多个异常对象。所以在编译代码的时候,编译器会方法的调用是否在try-catch-finally结构中,以确保如果抛出异常,它会得到处理。方法签名之后可以没有throws关键字,这样的话可以在方法体中在需要的时候随时抛出异常。----------------------------不一定的。public class Test{void testA()throws Exception{ throw new Excption("Method A:Test!");}void testB()throws Exception{ System.out.println("Start testA()!"); testA();}public static void main(String args[])throws Exception{ Test abc = new Test(); abc.testB();}} j2se类型转换问题 一个怪怪的问题,为什么框架要实现事务机制?比如Spring ResultSet rs = stmte.executeQuery(sql);为什么数据库没有数据,会抛出异常呢 请教 gridbaglayout布局 怎么判断一个swing窗体是不是可见啊? 谁有仅用AWT和少量SWING编写简单计算器的代码?谢了! Vector.get(int index)返回值的问题 java基础 什么情况下用字节流 什么情况下用字符流啊 我是初学小菜,求助!(答者送分) 实现javac 很菜的问题!但一直没有解决!请帮忙看看!
public void test() throws Exception { .... }
在调用这个test()方法时,必须
....
try{
test();
}catch(Exception e) {...... }
即如果被抛出,必须在调用的时候对可能出现的异常做处理.public void test() {
try{
....
}catch(Exception e) {...... }
}
调用的时候只是:
test();
就行了.只是处理位置不一样!
方法签名之后可以没有throws关键字,这样的话可以在方法体中在需要的时候随时抛出异常。
看看Thinking in java就可以了。对异常处理没必要钻得太深!
方法签名之后可以没有throws关键字,这样的话可以在方法体中在需要的时候随时抛出异常。
----------------------------
不一定的。public class Test{
void testA()throws Exception{
throw new Excption("Method A:Test!");
}void testB()throws Exception{
System.out.println("Start testA()!");
testA();
}public static void main(String args[])throws Exception{
Test abc = new Test();
abc.testB();
}
}