System.out.println("hello");
System.out.println("Y/N?");
// try
// {

   int i=System.in.read();   
   System.out.println("i=" + i);
// }
// catch (Exception  e)
// {
 //e.prin
// }在執行 int i=System.in.read();    一句時,系統提示出錯,myf2.java:11: unreported exception java.io.I
ed to be thrown
                   int i=System.in.read();是不是一定要用try?為什麼?
那還有哪些情況是一定要用try 語句的?

解决方案 »

  1.   

    throws Exception       就不用try catch 了
      

  2.   

    当你使用会抛出异常的方法时, 就要用try 把那个方法抛出的异常给catch .
      

  3.   

    public abstract int read() throws IOException
      

  4.   

    只要有属性抛出可能的方法,一般都是要用TRY的,防止溢出。
      

  5.   

    各位誤會我的意思了。
    用try是語語防止出錯,可我還沒有輸入數據,系統連編譯都不通過,這是不是說明在用鍵盤輸入時,java規定必須要用 try語句,否則不能通過編譯呢>?
      

  6.   

    你比如說在delphi中,運行時可能出現的錯誤,delphi是不管的,它照樣可以編譯通過,java是不是不能這樣?
      

  7.   

    没人误会你的意思, 是你对JAVA的异常机制太不了解了.JAVA中的异常(Exception)分为两种, Checked Exception(可侦测异常)和Unchecked Exception(不可侦测异常,也叫运行时异常, 即Runtime Exception).Checked Exception(可侦测异常)必须声明或者被侦察(be guarded), 否则将不能通过编译.System.in.read()方法声明抛出一个IOException, 而IOException是一个可侦测异常, 因此必须对其作相应处理以通过编译. 要么将这个方法包括在侦察区(Guarded Region)中, 即一个try...结构中, 要么在调用该方法的方法上声明要抛出的异常.
      

  8.   

    在这种带Exception的语言中,退出方法提的方式有两种(不要说exit(),这个是退出JVM进程)
    一是return,一就是异常,注意,异常不一定是错误,只是一种不正常,或则说是例外方式罢了,你如果不理会异常,就抛
    给方法的外面,让调用者来处理(说明不是错误的最好例子就是EJB HOME借口中查找方法,如果
    没有找到,会抛出异常,你根据这个异常来决定下一个处理办法,)非运行时异常必须要处理,或者要抛给外面。这个是编译器编译的时候就要检查的
      

  9.   

    public abstract int read() throws IOException
    简单的话,只要throws Exception 你在调用的时候就必须catch他, 或是声明异常
      

  10.   

    分少了一點,請各位去
    http://community.csdn.net/Expert/topic/4204/4204609.xml?temp=.7846186
    幫忙回答另一問題,順便接分
      

  11.   

    因为你要调用的方法有throws exception,所以你调用的时候必须try,catch,进行异常处理
      

  12.   

    这就是java编译器的硬性规定,如果你真的看不惯,那就和写java的商量一下,看看你们谁能说服谁
      

  13.   

    try{} cath(){}是捕捉异常,也可以用throws Exception,看你需要咯!
    关于什么地方要用这些有些可以从doc中查到,有时还要看你自己的需要咯!
      

  14.   

    to Dan1980(也该有一些作为了) :你的确是误会他的意思了! 它问的为什么是一定要try!因为这在dephi或者c++中是不强迫这样做的--起码能通过编译!但java比较牛b,它加入了内部的机制去保护程序员,如同垃圾回收器一样,都是为了保护程序员.
    但jsp的内嵌入java代码就不受这个保护限制,所以做jsp插入java代码时要小心.因为得自己处理了!其实java是比c++容易的,至于贵,就在于它比较多关联的技术和工具.我觉得很大一部分是jsp在撑着.
      

  15.   

    要嘛try 要嘛再throws IOException