Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IllegalArgumentException,其中';我的代码中有什么错误?_Java - Fatal编程技术网

Java IllegalArgumentException,其中';我的代码中有什么错误?

Java IllegalArgumentException,其中';我的代码中有什么错误?,java,Java,嗯,我找不到错误: package udemy; public class ClassOne { private int positiveNum; public ClassOne (int positiveNum){ if (positiveNum< 0 ){ throw new IllegalArgumentException("positiveNum should be greater than 0"); } this.positiv

嗯,我找不到错误:

package udemy;

public class ClassOne {

private int positiveNum;

public ClassOne (int positiveNum){


    if (positiveNum< 0 ){
        throw new IllegalArgumentException("positiveNum should be greater than 0");
    }

    this.positiveNum= positiveNum;
}

public int getNum(){
    return positiveNum;
}

}
但我得到以下输出:

Exception in thread "main" java.lang.IllegalArgumentException:positiveNum should be greater than 0
 at udemy.ClassOne.<init>(ClassOne.java:11)
at udemy.ClassTwo.main(ClassTwo.java:7)
线程“main”java.lang.IllegalArgumentException中的异常:PositionEnum应大于0 在udemy.ClassOne.(ClassOne.java:11) 在udemy.ClassTwo.main(ClassTwo.java:7) 而不是说这个数字应该大于0。
错误在哪里?

这不是问题。未捕获异常的标准显示为:

如果希望具有与此不同的外观,则必须在try块中捕获异常


这是说它应该大于0

线程“main”java.lang.IllegalArgumentException中的异常:udemy.ClassOne处的positiveEnum应大于0(ClassOne.java:11)udemy.ClassTwo.main(ClassTwo.java:7)

但真正的问题是您应该在try块中创建值,如下所示:

package udemy;

public class ClassTwo {
    public static void main (String[] args) {
        try {
            ClassOne number= new ClassOne(-15);
            System.out.printf("%s%n",budala.getNum());
        } 
        catch(IllegalArgumentException e) 
        {
            System.out.printf("%s",e.getMessage());
        }

    }
}
Exception in thread "main" java.lang.IllegalArgumentException:positiveNum should be greater than 0 at udemy.ClassOne.(ClassOne.java:11) at udemy.ClassTwo.main(ClassTwo.java:7)
Exception in thread "threadName" ExceptionType:message 
at StackTraceElement
at StackTraceElement
...
    //...
    try {
        ClassOne number= new ClassOne(-15);
        System.out.printf("%s%n",budala.getNum());
    } 
    catch(IllegalArgumentException e) 
    {
        System.out.printf("%s",e.getMessage());
    }
    // ...
package udemy;

public class ClassTwo {
    public static void main (String[] args) {
        try {
            ClassOne number= new ClassOne(-15);
            System.out.printf("%s%n",budala.getNum());
        } 
        catch(IllegalArgumentException e) 
        {
            System.out.printf("%s",e.getMessage());
        }

    }
}