Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. 'use strict';
  2.  
  3. //error is caught by the promise
  4. function someSyncFunctionThrow(){
  5. let promise = new Promise((resolve, reject)=>{
  6. throw 'someSyncFunctionThrow error occurred!!!!';
  7. resolve();
  8. });
  9. return promise;
  10. }
  11. someSyncFunctionThrow().then(()=>{}).catch(err=>{ console.error(`Promise.catch -- error someSyncFunctionThrow: ${err}`)});
  12.  
  13. //error is caught by the promise
  14. function someSyncFunctionReferrenceError(){
  15. let promise = new Promise((resolve, reject)=>{
  16. asdf.x();
  17. resolve();
  18. });
  19. return promise;
  20. }
  21. someSyncFunctionReferrenceError().then(()=>{}).catch(err=>{console.error(`Promise.catch -- error someSyncFunctionReferrenceError ${err}`)});
  22.  
  23. //error is NOT caught by the promise.
  24. function someAsyncFunctionThrow(){
  25. let promise = new Promise((resolve, reject)=>{
  26. setTimeout(()=>{
  27. throw 'someAsyncFunctionThrow error occurred!!!!';
  28. resolve();
  29. },0);
  30. });
  31. return promise;
  32. }
  33. someAsyncFunctionThrow().then(()=>{}).catch(err=>{ console.error(`Promise.catch -- error someAsyncFunctionThrow: ${err}`)});
  34.  
  35. //error is NOT caught by the promise
  36. function someAsyncFunctionReferenceError(){
  37. let promise = new Promise((resolve, reject)=>{
  38. setTimeout(()=>{
  39. asdf.asdf();
  40. resolve();
  41. },0);
  42. });
  43. return promise;
  44. }
  45. someAsyncFunctionReferenceError().then(()=>{}).catch(err=>{console.error(`Promise.catch -- someAsyncFunctionReferenceError reference error ${err}`)});
  46.  
  47.  
  48. //error is NOT caught by try catch.
  49. function nonPromiseAsyncThrowWithCatchOutside(){
  50. try{
  51. setTimeout(()=>{
  52. throw 'nonPromiseAsyncThrow error occurred!!!!';
  53. },0)
  54. }catch(e){
  55. console.error(`catch caught exception ${e}`);
  56. }
  57.  
  58. }
  59. nonPromiseAsyncThrowWithCatchOutside();
  60.  
  61. //error is caught
  62. function nonPromiseAsyncThrowWithCatchInside(){
  63.  
  64. setTimeout(()=>{
  65. try{
  66. throw 'nonPromiseAsyncThrow error occurred!!!!';
  67. }catch(e){
  68. console.error(`catch caught exception ${e}`);
  69. }
  70. },0);
  71.  
  72. }
  73. nonPromiseAsyncThrowWithCatchInside();
  74.  
  75.  
  76.  
  77. //error is caught by promise
  78. function someAsyncFunctionReferenceErrorWithTryCatch(){
  79. let promise = new Promise((resolve, reject)=>{
  80. setTimeout(()=>{
  81. try{
  82. asdf.asdf();
  83. resolve();
  84. }catch(e){
  85. reject(e);
  86. }
  87.  
  88. },0);
  89. });
  90. return promise;
  91. }
  92. someAsyncFunctionReferenceErrorWithTryCatch().then(()=>{}).catch(err=>{console.error(`Promise.catch -- someAsyncFunctionReferenceErrorWithTryCatch reference error ${err}`)});
  93.  
  94.  
  95. process.on('uncaughtException', (err) => {
  96. console.log(`Process Caught exception: ${err}`);
  97. });
  98.  
  99. process.on('unhandledRejection', (reason, p) => {
  100. console.log(`Process unhandledRejection ${reason}`);
  101. });
  102. process.on('rejectionHandled', (p) => {
  103. console.log(`Process rejection handled`);
  104. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement