ЙажаСценарий / Говнокод #27667 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
type int = 1;
function main() {
    print("try/catch");

    let t = 1;

    try {
        throw 1;
    } catch (v: int) {
        print("Hello ", v);
        v = t;
    }

    assert(v == t);

    print("done.");
}

Ура ура.. новый говнокод подоспел... это гавно теперь параметры в тело "catch"-а передает

Запостил: ASD_77 ASD_77, (Updated )

Комментарии (32) RSS

  • А ваш говно-компилятор умеет так (особенно С и С++)
    Ответить
    • так это как? Мой говно-компилятор это и есть C/C++ компилятор только в TS синтаксисе
      Ответить
    • Гост случайно написал от имени ASD_77, и так мы узнали, что это одно и тоже лицо
      Ответить
      • Да, похоже, что забыл перелогиниться. Какой багор )))
        Ответить
        • Эти алиасы резолвятся в одного и того же занудного, дотошного плюсовика и секьюрити фрика из Волгограда
          Ответить
    • в тупоскприпте нет такого... но не забываем что if (v instanceof XXX) не использует "боксинг-анбоксинг"
      Ответить
        • зависит от ловимого типа. если :any то все будет как обычно.. а если float то пролетит мимо 🙂
          Ответить
          • А в обычном-то это не работает поди?
            Ответить
          • Какой багор )))
            То есть чтобы сделать multiple catch, нужно либо вложенные try..catch, либо один с портянкой instanceof?
            Ответить
            • А ты думаешь JavaScript называется JavaScript просто так что ли?
              Ответить
  • вопрос для умных ... почему alloca в catch - рушит стек? т.е. зависание... что за бред?
    Ответить
    • Думаю там при раскрутке стека нельзя трогать стек, но нужно наверное читать что там LLVM пишет
      Ответить
      • catch -- это уже не раскрутка вроде, уже приземлились куда надо.
        Ответить
        • А если я SO поймал?

          А как там стек выглядит?
          Ответить
          • Да нормально должен выглядеть: всё что внутри трая уже размоталось, всё что снаружи ещё выжило... После выхода из catch надо ведь будет дальше исполнять код.

            Может какие-то ещё нюансы есть, конечно. Я никогда не изучала этот момент.
            Ответить
            • Important

              In Windows XP, if _alloca is called inside a try/catch block, you must call _resetstkoflw in the catch block.
              Ответить
            • короче если сохранить стек поинтер а потом востановить то все будет ок
              Ответить
  • Стесняюсь спросить, а эта программа предусматривает «анальное» использование?
    Ответить

Добавить комментарий для ASD_77 Отменить ответ

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8