如果是“只要程序出错,就捕捉异常”当然捕捉Exception了,不过只有代码控制好可以作到API要求捕捉什么异常就捕捉什么异常(很多API要求调用者捕捉异常)。

解决方案 »

  1.   

    如果确定有异常,但不确定是什么异常,一般这样的话需要捕捉两个异常
    你可以先不加try catch语句,然后编译报错会告诉你需要捕捉什么异常,比如说是IOException
    那这时候你就这样写
    try {
    ....
    } catch(IOException ex) {
    ...
    } catch(Exception e) {
    ...
    }
      

  2.   

    e.printStackTrace()
    就可以知道是哪个异常了
      

  3.   

    捕捉Exception 因为他是所有异常的基类
      

  4.   

    当然有
    Exception就是
    只要你捕捉了这个异常,其他就不用管了
    但是这样的办法是不被推崇的,读异常的处理就不够灵活了!
      

  5.   

    我用JB作为开发工具,正常的需要try/catch的地方会提示,我的程序是正确的写法,但是有些异常时不可以预知的,(比如字符串截取,如果字符串为空就会异常),针对这些异常,我用哪个比较泛的方法去捕捉?
      

  6.   

    JB能提示的叫做编译时的异常,就是编译器会提醒你捕捉
    另一种就是你说的是运行的异常,那个是执行的时候才有可能抛出的异常
    所以如果图方便只捕捉一个Exception就行了
      

  7.   

    如果我的try/catch是在循环里面,发生异常之后的语句是不是就不执行了?就直接执行下一次循环了对吗?
      

  8.   

    循环里面有异常,然后跳转到catch里面
    之后所有程序就停止执行了
      

  9.   

    比如:
    while(List.hasNext()){
      try{
        //这里发生了异常的话,不再执行下面一行,然后跳到catch,执行完catch里面的语句之后,
        //跳转到while,执行下一次循环,对吗?
        System.out.println("Hello");
      {
      catch((Exception e)){
        System.out.println(" error: " + e);
      }
    }
      

  10.   

    执行完catch之后就停止执行你的程序了
      

  11.   

    不可能,有异常程序不可能继续执行的
    只能在finally里面执行一些扫尾工作
      

  12.   

    就像Object类是所有其他类的父类一样,Exception是所有异常的父类,就捕捉这个,就什么都捕捉到了