main为什么还要throw exception呢?

解决方案 »

  1.   

    该程序适合快速建立大量无用TXT文件。^^
    至于为什么需要throw Exception takecare(大厅)想必能理解。
    但我也不太明白楼主要问的东西。
      

  2.   

    这表示你在调用此方法的时候必须用try...catch捕捉并处理异常
      

  3.   

    to:noblame(不嗔) 
    一般情况下你是如何调用main函数的?
      

  4.   

    用throw exception 也是没有错的,这样,在main里的exception就可以不需要进行try了。
      

  5.   

    to: jcq(疯子弟) 
    说的是,哈哈!
      

  6.   

    唉……之所以需要抛出异常并不是为了少写个try
    是因为RandomAccessFile啊。
      

  7.   

    的确是死循环。你愿意测试也行。不会让你机器崩溃的。只需要按CTRL+C就行了 。
      

  8.   

    try {
    mainT.main();
         ........
          } catch (IOException e) {
    ..............
        }
      

  9.   

    如果用到IO类!有没有用try catch,是要throw exception的!!可以不要吗???
      

  10.   

    我不明白楼上takecare(大厅) 兄弟的说法??谢谢!!大家共同进步!
      

  11.   

    这不是一个死循环,程序执行总共生成2036个文件,
    也就是说执行了2036次,但我不知道为什么会这样,
    这是不是涉及到stack.???,请教高手!!
      

  12.   

    如果在声明方法的时候用了throws IOException修饰,如:
    “public static void main(String[] args) throws IOException”
    那么在引用此方法时必须用try...catch,否则编译将不能通过。
      

  13.   

    rf没有关闭,估计是内存收集的问题,因为每隔一段时间要暂停一下。
    import java.io.* ;public class MainT
    {
    static long i = 0;
    static RandomAccessFile rf = null;

    public static void main(String[] args)

    {
    try{
    i++ ;
        rf = new RandomAccessFile("data"+i+".txt","rw");
    String str = "MainT.main()";
    System.out.println(str+i);
    rf.writeBytes(str);
    rf.close();
    MainT.main(null) ;
        }
    catch(Exception exp){System.out.println(exp.toString());}
    }
    }
      

  14.   

    是堆栈溢出。Exception in thread "main" java.lang.StackOverflowError
            at java.io.FileOutputStream.write(FileOutputStream.ja
            at java.io.BufferedOutputStream.flushBuffer(BufferedO
    )
            at java.io.BufferedOutputStream.flush(BufferedOutputS
            at java.io.PrintStream.write(PrintStream.java:260)
            at sun.nio.cs.StreamEncoder$ConverterSE.implFlushBuff
    va:234)
            at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder
            at java.io.OutputStreamWriter.flushBuffer(OutputStrea
            at java.io.PrintStream.write(PrintStream.java:305)
            at java.io.PrintStream.print(PrintStream.java:448)
            at java.io.PrintStream.println(PrintStream.java:585)
      

  15.   

    maybe it's the reason.