public Function(String formula, ViewPort port, double step) { this.formula = formula; this.xmin = BigDecimal.valueOf(port.get_xmin()); this.xmax = BigDecimal.valueOf(port.get_xmax()); Parser parser = new Parser(); BigDecimal run = xmin; while (run.compareTo(xmax) <= 0) { try { this.add_valuepair(run, parser.parse_x(formula, String.valueOf(run))); run = run.add(BigDecimal.valueOf(step)); } catch (ArithmeticException e) { run = run.add(BigDecimal.valueOf(step)); System.out.println( "Arithmetik Exception wahrscheinlich Division durch 0 übersprungen." + e.getMessage() + e.getLocalizedMessage()); continue; } } }