на ошибке JavaScript, как определить метод или js файл с проблемой?

TabControl имеет коллекцию TabPages , на каждой из которых вы можете включить проверку, например, :

public partial class MyForm : Form
{
    public MyForm()
    {
        InitializeComponent();

        foreach (var page in _tabControl.TabPages.Cast())
        {
            page.CausesValidation = true;
            page.Validating += new CancelEventHandler(OnTabPageValidating);
        }
    }

    void OnTabPageValidating(object sender, CancelEventArgs e)
    {
        TabPage page = sender as TabPage;
        if (page == null)
            return;

        if (/* some validation fails */)
            e.Cancel = true;
    }
}

7
задан Tal 9 June 2009 в 11:38
поделиться

7 ответов

Объект ошибки, который создается, когда JavaScript генерирует ошибку, очень ненадежен, когда речь идет о строке исходного кода, особенно в IE. Браузеры, такие как Firefox и Safari, лучше справляются с номерами строк, но, как правило, они бессмысленны из-за минификации файлов.

Очевидно, что более полезно получить стек вызовов, но из-за анонимного характера функций JavaScript (ну, что они могут быть анонимными) стек вызовов часто бывает сложно обработать.

Если вы выполняете try / catch , вы можете выполнить arguments.callee , который вернет вы - метод, который вызвал текущий метод, который потерпел неудачу.

Вот хороший пример выполнения полного стека в JavaScript - http: // eriwen. com / javascript / js-stack-trace /

8
ответ дан 6 December 2019 в 19:41
поделиться

Кроме того, инструменты разработчика, включенные в Internet Explorer 8 , неплохо отслеживать и отладьте свой код javascript

2
ответ дан 6 December 2019 в 19:41
поделиться

Существует версия Firebug под названием Firebug Lite , которая будет работать с Internet Explorer. Его производительность будет зависеть от сложности ваших страниц; однако для относительно легких страниц он должен дать некоторое представление.

Я рекомендую этот инструмент, а не просто использовать Firebug и Firefox , потому что не все ошибки, возникающие в Internet Explorer, будут возникать в Firefox , и поэтому выполнение любая отладка в этом браузере может не дать результатов.

2
ответ дан 6 December 2019 в 19:41
поделиться

Firebug в Firefox обычно считается одним из лучших инструментов отладки.

В Firefox перейдите на

http://getfirebug.com

, чтобы получить его.

]
1
ответ дан 6 December 2019 в 19:41
поделиться

Это напечатает трассировку стека:

function Stack() 
{
  try 
     { 
          throw Error() 
     } 
  catch(ex) 
  { 
     return ex.stack 
  } 
};

print( Stack() );
0
ответ дан 6 December 2019 в 19:41
поделиться

Если все остальное терпит неудачу (а иногда бывает при работе с IE), вы всегда можете просмотреть свой код с предупреждениями. Это грубо и утомительно, но иногда это все, что вы можете сделать: Просто:

var count = 0;

затем посыпьте немного:

alert(count++);

в стратегических строках вашего кода и отметьте, где он перестает сигнализировать.

Пена и полоскание повторять, пока у вас не будет ваша строка.

0
ответ дан 6 December 2019 в 19:41
поделиться

Если вы используете Firefox, вы можете нажать Ctrl + Shift + J , чтобы открыть встроенную в Firefox консоль ошибок JavaScript, которая точно скажет вам, что пошло не так.

0
ответ дан 6 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: