A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马斯巴达 高级黑马   /  2013-1-19 15:25  /  1161 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 谢军 于 2013-1-19 15:33 编辑
  1. public static void Copy()
  2.         {
  3.         FileWriter fw=null;//<font color="#ff0000">1</font>
  4.         FileReader fr=null;//<font color="#ff0000">2</font>
  5.         try
  6.         {
  7.                 fw= new FileWriter("CopyTest.txt");//<font color="#ff0000">3</font>
  8.                 fr=new FileReader("CopyTest.java");//<font color="#ff0000">4声明异常try的时候把它写成一句 FileWrite fw=new FileWriter("CopyTest.txt");有什么坏处吗?为什么在try上面初始化?</font>
复制代码

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
      这个老师在视频里提到过,就是两种方式都可以,但分开来写看着清晰,也便于理解。所以老师在教学的代码中,几乎都采用了分开写的方式。
回复 使用道具 举报
分开来写显得比较直观,他在外外面写了空的引用,try代码块中的操作可能会出现异常
所以预先写好异常的处理。
回复 使用道具 举报
try块要和 catch块 或者finally块一起写的,不能单独存在.

try块内的代码 是需要被检测的代码.如果出现异常,可以通过throws或者catch块类处理.
如果,根本不会出现异常的代码,放进去没有意义的.
从广义上来看,try和catch是用来实现 正常代码和异常处理分离的.
比如:
  1. public class Test
  2. {
  3.         public void print()
  4.         {
  5.                 System.out.println("Hello~!");
  6.         }
  7.         public static void main(String[] args)
  8.                 throws Exception    //要么声明抛出,要么catch块处理
  9.         {
  10.                 Test t = new Test();
  11.                 try
  12.                 {
  13.                         t.print();    //被检测代码
  14.                 }
  15.                 catch(Exception e)        //异常处理
  16.                 {
  17.                         throw new Exception(); //可继续抛出,可以直接处理.
  18.                 }
  19.         }
  20. }
复制代码
只要是非运行时异常,方法上声明异常,就必须抛出或者try catch处理.

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
关闭资源建议在finally里面编写代码。如果你把fw,fr定义在try里面,那么finally里面就访问不到fr,fw

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马