|
|
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Нужен совет по поводу следующего решения : Есть jetty веб сервер , есть клиентский js . Этот javascript тестируют, но все равно , иногда в нем могут возникать ошибки ... о которых мы можем узнать только от пользователей... вопрос как мониторить на сервере ошибки которые возникают на клиенте ? Читая Носорога , нашел такую древнюю JS фичу window.onerror Которая способна обработать все что не попало в try/catch в js Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Далее на сервере все это кладем в базу , или в лог и выводим в админку, пишем письма разработчиками js итд 1.Вопрос может есть более красивое решение ? 2.Насколько это решение приемлемое ? 3.Есть ли у него подводные камни? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 12:37 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Atum1, стек трейса не будет. Вот пример: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:09 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
А если еще будет minified и uglyfied JavaScript, то даже при window.onerror = function (message, filename, lineno, column, errorObj) {} разобраться во всем этом деле будет очень сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:38 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
yelenaAtum1, стек трейса не будет. Вот пример: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: javascript 1. 2. 3. test.html:17 Uncaught Error: Some error! ??? как не будет ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:41 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
yelenaА если еще будет minified и uglyfied JavaScript, то даже при window.onerror = function (message, filename, lineno, column, errorObj) {} разобраться во всем этом деле будет очень сложно. Вы правы вот в чем : после обфускация кода и сборки в один js разобраться будет проблематично ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:43 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Atum1yelenaAtum1, стек трейса не будет. Вот пример: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: javascript 1. 2. 3. test.html:17 Uncaught Error: Some error! ??? как не будет ?? А так не будет. Вы видите трейс в консоли разработчика. Нр он не передается в обработчик window.onerror. Не заметили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:48 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Atum1, зависит от браузеру и обфускации кода. Например в Хроме можно передать стек на сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:50 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Цепочку вызовов методов вы не видите. Откуда пошла ошибка определить не можете. Только видите место, где она произошла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 13:50 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
AdvaAtum1, зависит от браузеру и обфускации кода. Например в Хроме можно передать стек на сервер. Есть какое - то универсальное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 14:01 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Atum1AdvaAtum1, зависит от браузеру и обфускации кода. Например в Хроме можно передать стек на сервер. Есть какое - то универсальное решение? К сожалению нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 14:59 |
|
||
|
Обработка ошибок клиента на сервера
|
|||
|---|---|---|---|
|
#18+
Atum1AdvaAtum1, зависит от браузеру и обфускации кода. Например в Хроме можно передать стек на сервер. Есть какое - то универсальное решение? есть. Писать сразу с try как и полагается в ЯП высокого уровня. Я лично так пишу. Другое дело, что сам ЯП JS позволяет к этому подходить расслабленно. Например, эксплореры код без Try ошибки подавляют. ЗЫ. Стек передавать не нужно, т.к. на клиенте не пишут с рекурсиями и многими вложениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=125&tid=2125185]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 332ms |

| 0 / 0 |
