Найти - Пользователи
Полная версия: Tracebeck
Начало » Python для новичков » Tracebeck
1
jantex69
Приветствую!

Только перешёл с языка Java на Python и для меня не понятно, почему, когда случается ошибка, то вывод Traceback идёт вперемешку с нормальным выводом.
К примеру, на Java вывод идёт последовательно до исключения и программа завершает работу.
Приведу примеры:
 array = [1,2,3,4,5,6,7]
print(array[0])
print(array[1])
print(array[2])
print(array[3])
print(array[4])
print(array[5])
print(array[10])
 
"Output
1
Traceback (most recent call last):
2
3
 File "C:/Users/admin/PycharmProjects/firstProject/firstTest.py", line 8, in <module>
4
5
6
   print(array[10])
IndexError: list index out of range
"

 public class Main{
    public static void main(String[] args){
    int[] array = new int[]{5,3,1};
    System.out.println(array[0]);
    System.out.println(array[1]);
    System.out.println(array[2]);
    System.out.println(array[3]);
}
}
//Output
5
3
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
        at Main.main(Main.java:7)

Как видно, в Java вывод идёт последовательно до исключительной ситуации, в то время как в Python вывод идёт вперемешку с Tracebeck.
Подскажите, с чем это связано?
FishHook
jantex69
Подскажите, с чем это связано?
вероятно с тем, что ваша программа направляет stdout и stderr в один и тот же дескриптор
doza_and
jantex69
Подскажите, с чем это связано?

FishHook
направляет stdout и stderr в один и тот же дескриптор
Ну и что что в один файл?
У меня на команду python aaa.py >a 2>&1
 1
2
3
4
5
6
Traceback (most recent call last):
  File "aaa.py", line 8, in <module>
    print(array[10])
IndexError: list index out of range
И в консоль естественно также. И никогда по другому и не было.
jantex69 Как вы это сделали?
Не поленился, запустил Pycharm (comm 2016), попил чай пока он запускался. (Pycharm я практически не использую)
О сколько нам открытий чудных готовят новички.
В самом деле каша!
Это Баг среды разработки которая так вычерпывает stdout stderr.
Ни одна нормальная среда разработки так не делает. Под винду ну например pyscripter возьмите или покопайтесь в настройках pycharm.
AD0DE412
у меня не воспроизводится wing, spyder, jupiter, pyscripter, pycharm (ubuntu, windows)
rami
У Wing свои тараканы (баги): достаточно большие данные выводит не по порядку (в окне отладки, а вывод в файл нормальный)

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB