LINUX.ORG.RU

История изменений

Исправление netcat, (текущая версия) :

Возьмем, к примеру, Python:

def get_text():
    f = open('/etc/blahblahblah') #файла-то нет
    text = f.readlines()
    f.close()
    return text

def print_text():
    text = get_text()
    print(text)

print_text()
Результат:
Traceback (most recent call last):
  File "bug.py", line 11, in <module>
    print_text();
  File "bug.py", line 8, in print_text
    text = get_text()
  File "bug.py", line 2, in get_text
    f = open('/etc/blahblahblah')
IOError: [Errno 2] No such file or directory: '/etc/blahblahblah'
Информативно и не надо возиться с отладчиком. А еще можно запустить python с ключом -i, тогда после выполнения скрипта python перейдет в интерактивный режим, очень полезный для отладки. Можно, например, посмотреть как себя ведет та или иная функция, если ей передать разные параметры.
Это я сходу пример привел, выгоды на самом деле больше.

лично я предпочитаю чтобы в таких случаях меня жестко били по голове, ибо если мой моск придумывает алгоритмы с такими вот эффектами, то мне нужно провести работу хорошую над ошибками: вчитаться в код, понять где это, впитать этот опыт и больше такого не делать. Благо, такого у меня почти никогда не встречается.

Не все так круты, и не всем нравится, когда их «бьют по голове».

Исправление netcat, :

Возьмем, к примеру, Python:

def get_text():
    f = open('/etc/blahblahblah') #файла-то нет
    text = f.readlines()
    f.close()
    return text

def print_text():
    text = get_text()
    print(text)

print_text()
Результат:
Traceback (most recent call last):
  File "bug.py", line 11, in <module>
    print_text();
  File "bug.py", line 8, in print_text
    text = get_text()
  File "bug.py", line 2, in get_text
    f = open('/etc/blahblahblah')
IOError: [Errno 2] No such file or directory: '/etc/blahblahblah'
Информативно и не надо возиться с отладчиком. А еще можно запустить python с ключом -i, тогда после выполнения скрипта python перейдет в интерактивный режим, очень полезный для отладки. Можно, например, посмотреть как себя ведет та или иная функция, если ей передать разные параметры.
Это я сходу пример привел, выгоды на самом деле больше.

Исходная версия netcat, :

Возьмем, к примеру, Python:

def get_text():
    f = open('/etc/blahblahblah') #файла-то нет
    text = f.readlines()
    f.close()
    return text

def print_text():
    text = get_text()
    print(text)

print_text()
Результат:
Traceback (most recent call last):
  File "bug.py", line 11, in <module>
    print_text();
  File "bug.py", line 8, in print_text
    text = get_text()
  File "bug.py", line 2, in get_text
    f = open('/etc/blahblahblah')
IOError: [Errno 2] No such file or directory: '/etc/blahblahblah'
Информативно и не надо возиться с отладчиком. А еще можно запустить python с ключом -i, тогда после выполнения скрипта python перейдет в интерактивный режим, очень полезный для отладки. Можно, например, посмотреть как себя ведет та или иная функция, если ей передать разные параметры.