Presentation вместо Runtime (Java)

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
Igel_SK
Posts:1
Joined:19 September 2012, 22:37
Presentation вместо Runtime (Java)

Post by Igel_SK » 19 September 2012, 22:46

При отправке решения на Java, которое должно выдавать Runtime Error, выдается вердикт Presentation Error (программа ничего не вывела из-за exception'a), а информация об exception'е выводится на stderr. Как можно это исправить?

Отчет системы на задачу А тестового контеста:

Code: Select all

--- Input ---
1
1


--- Output ---

--- Correct ---
2

--- Stderr ---
Exception in thread "MyRunThread" java.lang.ArithmeticException: / by zero
	at Solver.solve(Main.java:72)
	at Main.run(Main.java:54)
	at java.lang.Thread.run(Thread.java:722)

--- Checker output ---
user program output: unexpected EOF
Похоже, проблема возникает только тогда, когда внутри java программы запускается новый thread и exception происходит в нем.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Presentation вместо Runtime (Java)

Post by cher » 20 September 2012, 14:31

Выложите, пожалуйста исходный код примера.

dalex
Posts:2
Joined:23 July 2012, 11:48

Re: Presentation вместо Runtime (Java)

Post by dalex » 20 September 2012, 14:46

О, зашел на форум и увидел интересную тему. У меня то же самое. Вот этот код получает Accepted:

Code: Select all

import java.util.*;

public class Main implements Runnable {

	@Override
	public void run() {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(a + b);
		int c = 0;
		int d = 0;
		int e = c / d;
	}
	
	public static void main(String[] args) {
		new Thread(new Main()).start();
	}
}
Ответ вывелся правильный, а то, что exception возник в каком-то другом треде, ejudge не очень-то и заботит.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Presentation вместо Runtime (Java)

Post by cher » 20 September 2012, 20:04

Поскольку процесс java-машины завершается с кодом завершения 0, нет причин считать, что при работе процесса возник run-time error.

Post Reply