Chciałbym napisać funkcję, która 1. sprawdzi czy inna funkcja podana jako argument wywołuje błąd 2. jeśli tak, wyświetli w której linjice on się znajduje.
Takie rzeczy lepiej sprawdzać pisząc unit testy -> https://www.chaijs.com/api/bdd/#method_throw
W kodzie produkcyjnym jest to o tyle ryzykowne, że żeby funkcja rzuciła błędem trzeba ją najpierw wywołać. To z kolei może spowodować powstanie efektów ubocznych w aplikacji, np.:
- funkcja może wysłać Ajax (wtedy efekty uboczne mogą wystąpić na serwerze),
- może zmienić jakąś zmienną w wyższym scope (w tym globalną) lub ogólnie zmienić stan aplikacji,
- może niespodziewanie pokazać jakiś popup userowi lub przekierować go do innego widoku itp.
Co do technikaliów, to możesz zawinąć wywołanie takiej funkcji w try..catch i będziesz mógł sobie odczytać treść błędu ze wskazaniem na miejsce wystąpienia go w funkcji. Chyba, że funkcja sama w sobie ma try..catch, który nie rzuca błędu dalej, to wtedy go nie odczytasz poza funkcją. Ewentualnie próbować przy pomocy eventu error (przykłady użycia).