本帖最后由 香菜病病患 于 2014-4-18 17:47 编辑
1、String其实是引用数据类型。String s=null;表示s这个变量没有指向任何实际的堆内存中的对象。String s="";表示其指向了堆内存中的一个String类型的对象,而里面存的是""
2、try代码块中写的是可能抛出异常的代码,然后用catch代码块来捕捉对应的异常并处理。而finally里的代码不管是否出现异常都会执行,例如我们的关闭资源(关闭数据库连接等等)的代码就写在finally代码块中。try和catch是对应存在的,finally代码块则可以写也可以不写。而你说到的try...finally我没见过这种用法。
3、throws用在函数上,用来告诉调用者这个函数可能会出现异常,但是函数内部没有处理,交由调用者处理。如果调用者只还是继续往外抛,最后甚至在主函数中也往外抛出的话,那么主函数会将异常抛给虚拟机处理。虚拟机的处理方式是当异常发生时直接结束程序,打印出异常信息。throw用在函数内部,用于抛出一个异常对象。
|