Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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 主线程中的异常-面向对象_Java_Class_Object_Exception Handling_Object Oriented Analysis - Fatal编程技术网

Java 主线程中的异常-面向对象

Java 主线程中的异常-面向对象,java,class,object,exception-handling,object-oriented-analysis,Java,Class,Object,Exception Handling,Object Oriented Analysis,我编写了类分数,其中一个函数我尝试执行wad readFunction,如下所示: public static Fraction readFraction() { String s = StdIn.readString(); Fraction f = null; while (f == null) { int numerator; int denominator; try { int lineInde

我编写了类分数,其中一个函数我尝试执行wad readFunction,如下所示:

public static Fraction readFraction() {
    String s = StdIn.readString();
    Fraction f = null;
    while (f == null) {
        int numerator;
        int denominator;
        try {
            int lineIndex = s.indexOf("/");
            if (lineIndex != -1) {
                numerator = Integer.parseInt(s.substring(0, lineIndex));
                denominator = Integer.parseInt(s.substring(
                        lineIndex + 1, s.length()));
            } else {
                numerator = Integer.parseInt(StdIn.readString());
                denominator = 1;
            }
            f = new Fraction(numerator, denominator);
        } catch (NumberFormatException e) {
            StdOut.println("Please enter a valid answer:");
        } catch (ArithmeticException e) {
            StdOut.println("Can't divide by zero, please enter a valid answer:");
        }
    }
    return f;
我在线程主注释中遇到一个异常。我写了另一个类,从中调用这个函数,上面提到的错误就是我得到的。 对于我插入的每个值,它都会给出另一个异常。例如,当我插入非法的“4”时,我得到:

我非常乐意得到一些关于我的错误的线索。
谢谢大家!

不过,线程main中的异常可能有很多。只有在程序的主线程中发生异常时,您才会感到困惑。它不会告诉你它是什么类型的错误,以及它发生在哪里。 这就是为什么您应该添加异常的堆栈跟踪。如果没有看到stacktrace,请检查调用函数的catch块是否有类似于e.printStackTrace;的内容

从您发布的内容中,我能知道的唯一一件事是异常是,因为您的方法没有声明任何异常


但是,正如您可能从javadoc检查到的,有很多运行时异常

完整的错误消息是什么?继续阅读。您阅读的是枯燥的部分,而不是指向确切代码行的部分,在异常上有一个描述性的名称。线程main中的异常。@Mic-其余部分是……我告诉过您继续阅读:p NoTouchElementException是第一个有价值的信息。另外,将跟踪添加到您的问题中,而不是作为注释中或问题中图片的链接。旁注:你的标题应该与NoTouchElementException Scanner的内容一致。。。