黑马程序员技术交流社区

标题: 关于自定义异常的应用 [打印本页]

作者: mirror    时间: 2014-7-7 13:30
标题: 关于自定义异常的应用
今天看完毕老师讲的求圆和长方形的面积后,我自己试着重新编写这个程序,现在出现了问题 ,自己看不懂,求高手帮忙
package example;
//求圆和长方形的面积  自定义两种异常,1输入0和负数的异常;2输入大于20的数的异常

public class ExceptionTest1
{
        public static void main(String[] args)
        {
                try
                {
                        YuanXing y = new YuanXing(5);
                        y.area();     这儿报错了  Exception in thread "main" java.lang.Error: Unresolved compilation problem:
                                                              No enclosing instance of type ExceptionTest1 is accessible. Must qualify the allocation with an enclosing                                                                     instance of type ExceptionTest1 (e.g. x.new A() where x is an instance of ExceptionTest1).

                }
                catch(NoValueException e)
                {
                        System.out.println("输入非法值了");
                }
        }
}
class YuanXing
{
        private int banjin;
        public static final double PI = 3.14;
        YuanXing(int banjin) throws NoValueException
        {   
                if(banjin <= 0)
                        throw new NoValueException("输入非法值了");
                this.banjin = banjin;
        }
        public  void area()
        {
                System.out.println(banjin * banjin *PI);
        }
}
class NoValueException extends Exception
{
        NoValueException(String message)
        {
                super(message);
        }
}       




作者: 谭荣强    时间: 2014-7-7 17:42
验证代码没问题.....
public class Demo2
{
        public static void main(String[] args)
        {
                try
                {
                        YuanXing y = new YuanXing(-5);
                        y.area();   

                }
                catch(NoValueException e)
                {
                        System.out.println("输入非法值了");
                }
        }
}
class YuanXing
{
        private int banjin;
        public static final double PI = 3.14;
        YuanXing(int banjin) throws NoValueException
        {   
                if(banjin <= 0)
                        throw new NoValueException("输入非法值了");
                this.banjin = banjin;
        }
        public  void area()
        {
                System.out.println(banjin * banjin *PI);
        }
}
class NoValueException extends Exception
{
        NoValueException(String message)
        {
                super(message);
        }
}        
作者: Darkhorse′Xa    时间: 2014-7-7 17:54
试过了 是没有问题的!
作者: mirror    时间: 2014-7-7 19:01
谭荣强 发表于 2014-7-7 17:42
验证代码没问题.....
public class Demo2
{

额  神奇了   我电脑上也好了    我觉得我的eclipse出问题了
作者: mirror    时间: 2014-7-7 19:08
Darkhorse′Xa 发表于 2014-7-7 17:54
试过了 是没有问题的!

谢谢了   我刚才又试了一遍  没报错  搞不懂了





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2