try.bug188541.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function foo() {
  6. try {
  7. throw "foo error";
  8. } catch (e) {
  9. var e = 10;
  10. WScript.Echo("Caught e=" + e);
  11. }
  12. }
  13. function foo2() {
  14. var e;
  15. WScript.Echo("On entry: e=" + e);
  16. try {
  17. throw "foo error";
  18. } catch (e) {
  19. var e = 10;
  20. WScript.Echo("Caught e=" + e);
  21. }
  22. WScript.Echo("On exit: e=" + e);
  23. }
  24. function foo3() {
  25. var e;
  26. WScript.Echo("On entry: e=" + e);
  27. try {
  28. throw "foo error";
  29. } catch (e) {
  30. function err(e) {
  31. var e = 10;
  32. WScript.Echo("Caught e=" + e);
  33. }
  34. err(e);
  35. }
  36. WScript.Echo("On exit: e=" + e);
  37. }
  38. function foo4() {
  39. var e;
  40. WScript.Echo("On entry: e=" + e);
  41. try {
  42. throw "foo error";
  43. } catch (e) {
  44. var e = 10;
  45. {
  46. var e = 20;
  47. WScript.Echo("Caught e=" + e);
  48. }
  49. WScript.Echo("Caught e=" + e);
  50. }
  51. WScript.Echo("On exit: e=" + e);
  52. }
  53. WScript.Echo("foo():");
  54. foo();
  55. WScript.Echo("");
  56. WScript.Echo("foo2():");
  57. foo2();
  58. WScript.Echo("");
  59. WScript.Echo("foo3():");
  60. foo3();
  61. WScript.Echo("");
  62. WScript.Echo("foo4():");
  63. foo4();
  64. WScript.Echo("");
  65. WScript.Echo("PASSED");