Гм. Можно было просто спросить что именно получилось. Вывел в интерфейс функций вместе с Callback еще и ErrorCallback и выбрасываю сообщение об ошибке в место вызова функции модуля. Неотработка по месту вероятно как-то связана с асинхронностью работы функций в модуле. Было
01 try {
02 if (VisualStateController.getSelectedLine() !== undefined) {
03 switch (tileId) {
04 case 'InfoDataTile':
05 sceneDataService.getLineInfo(VisualStateController.getSelectedLine(), function (json) {
06 if (json.Result === 'OK') {
07 ................................................
08 } else {
09 throw new Error('sdfsfsdfsfsdfdsdf');
10 }
11
12 });
13 break;
14 default:
15 sceneDataService.getPartialView(tileId, function (json) {
16 if (json.Result === 'OK') {
17 ................................................
18
19 } else {
20 Сюда точно попадаем - генерируется исключение
21 но вместо того, чтобы попасть в catch выше - оно уходит в консоль броузера и отображается там
22
23 throw new Error('sdfsfsdfsfsdfdsdf');
24 }
25 });
26 }
27 } else {
28
29 throw new Error('sdfsfsdfsfsdfdsdf');
30 }
31 } catch(e) {
32 ................................................
33 }
Стало
01 try {
02 if (VisualStateController.getSelectedLine() !== undefined) {
03 switch (tileId) {
04 case 'InfoDataTile':
05 sceneDataService.getLineInfo(VisualStateController.getSelectedLine(), function (json) {
06 if (json.Result === 'OK') {
07 ................................................
08 } else {
09 ErrorCalback(new Error('sdfsfsdfsfsdfdsdf'));
10 }
11
12 });
13 break;
14 default:
15 sceneDataService.getPartialView(tileId, function (json) {
16 if (json.Result === 'OK') {
17 ................................................
18
19 } else {
20 Сюда точно попадаем - генерируется исключение
21 но вместо того, чтобы попасть в catch выше - оно уходит в консоль броузера и отображается там
22 ErrorCalback(new Error('sdfsfsdfsfsdfdsdf'));
23
24 }
25 });
26 }
27 } else {
28
29 ErrorCalback(new Error('sdfsfsdfsfsdfdsdf'));
30 }
31 } catch(e) {
32 ................................................
33 }
ну и в месте вызова функции модуля
MyMoDule.MyFunc(Param1, functionCallback(data){}, functionErrorCallback(error){ alert(error.message);});