如果不加,是不是浪费了呢。 机制。
如果加了,是不是更浪费? 资源。

解决方案 »

  1.   

    只有会抛出异常的方法需要用 try catch,并且有些异常必须用try catch包含
      

  2.   

    为什么这样问呢,你看过的别人写的Java代码都这么做么。先要了解try catch的含义,然后就知道怎么作了。
      

  3.   

    每个方法都加try?真是一个聪明的懒人办法。加吧加吧。鼓励你狂加。
    加完你就会知道什么叫做聪明反被聪明误了。
      

  4.   

    try{
     ////////
    }catch(e){
     ////////
    }
    除非明确的知道catch里需要怎么处理异常,要么不如直接用throws声明抛出去。
    如果方法实在不允许throws任何异常,还可以包装成RuntimeException throw出去。
      

  5.   

    还有,不要认为e.printStackTrace()是处理异常的方法。
      

  6.   

    想要catch异常的时候才需要加。
      

  7.   

    你这样说是不对的如果你知道catch后做什么,就用 try{}
    catch(){
    }不然就 throw还有一个就是比如eclipse的提示也是很总要线索
      

  8.   

    一般没什么必要吧,运行异常你try了也没什么用,其他的异常只能怪自己写的程序不严谨了!
      

  9.   

    不一定每个方法都要加..你可以在可能会出现异常的语句加上try catch
      

  10.   

    加try catch的好处是当程序异常了,不会直接终止导致程序崩溃
      

  11.   

    try{
      ---------
    }catch(Exception ex){
         ex.printStackTrace;
    }
    写起麻烦,但要用。还是加上好。
      

  12.   

    我觉得,我们可能常犯的错误,是将异常机制用来代替逻辑判断。下面来个例子,可以定性说明用异常带来的程序效率的下降。这个测试不严谨,没有考虑很多问题,但是每次都是异常执行的时间长import java.util.Random;/**
     * 
     *//**
     * @author aray
     *
     */
    public class ExceptionPerformanceTest {
    static Random a = new Random(); /**
     * @param args
     */
    public static void main(String[] args) {
    long time = System.currentTimeMillis();
    for(int i=0; i<Short.MAX_VALUE*100; i++)
    {
    try{
    noException();
    }
    catch (Exception e)
    {
    //do sth;
    }
    }
    long time1 = System.currentTimeMillis();
    for(int i=0; i<Short.MAX_VALUE*100; i++)
    {
    if(withException())
    {
    // do sth;
    }
    }
    long time2 = System.currentTimeMillis();
    System.out.println(time1-time);
    System.out.println(time2-time1); }

    public static void noException() throws Exception {
    double test = a.nextGaussian();
    if (test > 0.5)
    throw new Exception();
    } public static boolean withException() {
    double test = a.nextGaussian();
    return (test > 0.5);
    }}
      

  13.   


    汗一下,方法的名字取反了。noException是抛出异常的,withException是不跑出异常的。 不过,结论还是正确的。
      

  14.   

    Java编程规范要求要明确捕获异常。乱加try catch,很影响性能。
      

  15.   

    另外还有想说的。有的异常,不try catch,不throw也可以编译通过。我现在只能举出一个例子,那就是java.lang.NullPointerException 如果你要释放资源,例如数据库连接池,还是的把所有代码try catch起来比较方便.比较下下面3中释放数据库连接的情况
    public void test(String a) {
    Connection c = null;
    // init connection
    System.out.println(a.length()); //如果a为null,将导致数据库连接c不能关闭
    try {
    c.close();
    } catch (SQLException e) {
    }
    } public void test2(String a) {
    Connection c = null;
    // init connection
    try {
    System.out.println(a.length()); //这样肯定能关闭数据苦连接
    } finally {
    try {
    c.close();
    } catch (SQLException e) {
    }
    }
    } public void test3(String a) {
    Connection c = null;
    // init connection
    if (a != null) //这个比test2要好,但是每次调用都判断是不是为null,非常的麻烦。
    System.out.println(a.length());
    try {
    c.close();
    } catch (SQLException e) {
    }
    }
      

  16.   

    catch里什么都没有的程序,运行起来会让人一头雾水,出了异常一点反应都没有,
      

  17.   

    不是都要加try、catch
    也可以在方法声明的时候把方法的异常抛给上层调用方法。如果在方法内部,需要处理特殊的异常,最好捕获。
    例如JDBC异常等等。