异常处理方面如果try 后面没有跟 catch  跟的是 finally 会出现 异常丢失?try catch finally  什么情况会出现下异常丢失  
try 是捕获异常 
catch 是处理异常finally 到底用来做什么的 书上说的有乱 我不太明白

解决方案 »

  1.   

    finally是无论是否出现异常都会执行的代码
      

  2.   

    不管异常有没有catch,finally中得代码都会被执行
      

  3.   

    在你的程序里面不管有没有catch,finally都会在你的try语句里面的return之前执行
      

  4.   

    try {
       ...... //可能出现异常的代码块,放在try语句块中(捕获异常)
       ...... //如连接数据库时,可能出现连接不上数据库的异常
       ......
    } catch ( Type_Exception e) {
       ......//对出现异常(捕获到try抛出的异常)进行处理的语句放在catch块中
       ......//如当连接不上数据库时,要对这一异常进行处理,可以抛处异常给客户端,
       ......//也可以继续连接数据库操作
    } finally {
       ......//不管是否出现异常,程序都回执行这个代码块的语句,改处一般是释放资源用的
       ......//如释放数据库连接等
       ......
    }
    try后面必须至少跟一个catch块,用来捕获try中可能抛出的异常,捕获的异常可以处理(写上处理代码),也可以不处理(catch块中无任何代码),但是所捕获的异常必须包含try中可能出现的所有类型,否则就会报异常没有处理的错误.对于finally语句块,可有可无.根据需要.
      

  5.   

    finally里的代码都会被执行,
    不论是否已有catch语句被执行
      

  6.   

    to:yanhuaxie(IT Farmer)
    finally 块不是可有可无的,不要误导新手
    有些异常是提交到函数调用者那层进行catch的,这个时候finally的作用就出来了,在函数返回前作资源释放
      

  7.   

    finally后面的语句也不是总是执行,当前面有system.exit() 方法时, finally里面的语句就不会被执行
      

  8.   

    to :skywoodsky()是我没有说清楚,我说的finally块可有可无,并不是只具体的业务逻辑需要,而只是对java的语法而言的,try语句后必须有catch块,但是对与finally块,则没有规定.即try后可以有finally块也可以没有.不过还是谢谢你能提出来!以后一定会注意!
      

  9.   

    to yanhuaxie(IT Farmer)
    try
    {
    }
    finally 
    {
    }
    语法上仍然成立