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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Saner 中级黑马   /  2014-3-29 11:32  /  1558 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class ThrowsDemo
{
static void throwOne() throws IllegalAccessException
{
System.out.println("Inside throwOne.");
throw new IllegalAccessException("demo");
}
public static void main(String args[])
try
{
throwOne();
    }
  catch (IllegalAccessException e)
  {
   System.out.println("Caught " + e);
  }
}  
看到Throws这个学习点敲了这么一段代码,怎么都弄不对,请大神修改,并且能给加个注释,谢谢

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

6 个回复

倒序浏览
建议:
楼主不要急着一开始就把异常完全学会。
异常只是代码中处理程序运行过程中非正常情况的特殊操作。
不能就异常学异常,你可以先再向后学,等到学到IO流的时候,会有许多异常必须被处理。
那个时候,回过头来,再学一遍异常,会有许多心得。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
亲;其实你这个代码的错误很简单,有时候我们需要好好地检查一下就好了。我们在写程序的时候每一个函数都要有函数主体,也就就是要有 {  }  ,这个一定不要忘记写。而在你的这段代码中很显然public static void main(String args[])这个主函数缺少了  {  }  。下面的我改后用红色给你标记了,你可以对比一下。

class ThrowsDemo
{
        static void throwOne() throws IllegalAccessException
        {
                System.out.println("Inside throwOne.");
                throw new IllegalAccessException("demo");
        }
        public static void main(String args[])
        {    //注意这个大括号
                try
                {
                        throwOne();
                }
                 catch (IllegalAccessException e)
                 {
                 System.out.println("Caught " + e);
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
//try要写在方法体中

class ThrowsDemo
{
   static void throwOne() throws IllegalAccessException
   {          
     System.out.println("Inside throwOne.");  
     throw new IllegalAccessException("demo");     
   }
   
   public static void main(String args[])
   {//这是你没加的{
     try
     {
        throwOne();
     }
      catch (IllegalAccessException e)
     {
        System.out.println("Caught " + e);
     }
   }//这是你没加的}
}  

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报

public class IoException {


//定义一个静态函数,且该函数抛出异常
        static void throwOne() throws IllegalAccessException

        {
                //打印信息证明足迹
        System.out.println("Inside throwOne.。。这是异常的产生地,已经来过。。");
        //想外抛异常
        throw new IllegalAccessException("demo");
        }
       

       
        //主函数
        public static void main(String args[])
        {
        try//用try..catch捕获异常
        {
        throwOne();//调用函数,因为该函数中有抛异常,所以后面需要catch捕获
            }
        //抛什么异常就捕获什么异常,所以catch后面的参数部分:异常类型是IllegalAccessException
          catch (IllegalAccessException e)
          {
                  //打印输出信息
           System.out.println("Caught在main函数中捕获异常切打印出来异常的信息 :: " + e);
          }
        }
}
       
        不知道你是要什么,只是添加了注释。。希望能帮助你

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
/**
*
*/

/**
* @author Leslie
*
*/
public class ThrowsDemo {

        /**
         * @param args
         */
        static void throwOne() throws IllegalAccessException //定义静态函数 抛出异常
         {
         System.out.println("Inside throwOne.");
         throw new IllegalAccessException("demo");
         }
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                try {
                        throwOne();        //调用该静态函数
                } catch (IllegalAccessException e) {        //抛出IllegalAccessException
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

}

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报

  1. class ThrowsDemo
  2. {
  3.         static void throwOne() throws IllegalAccessException //此处函数上对语句中抛出的异常进行声明
  4.         {
  5.                 System.out.println("Inside throwOne."); //输出这条语句
  6.                 throw new IllegalAccessException("demo"); //抛出异常对象,函数上必须声明
  7.         }
  8.         public static void main(String args[])
  9.         {//这少了个大括号
  10.                 try
  11.                 {
  12.                         throwOne();//这里调用上面的方法
  13.                 }
  14.                 catch (IllegalAccessException e)//捕获了上一句抛出的异常
  15.                 {
  16.                    System.out.println("Caught " + e); //打印出异常名称以及传过来的异常信息
  17.                 }
  18.         }  
  19. }//这里也少了个大括号
复制代码

     写代码的时候,最好将类体/方法体的括号成对写出,格式最好有缩进,便于阅览。总之,写代码应养成良好的书写习惯,防止出现这样的错误就好了。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

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