Advertisement
Guest User

Exceptions vs error codes

a guest
Aug 25th, 2014
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.47 KB | None | 0 0
  1. exception:
  2. void f1()
  3. {
  4.   try {
  5.     ...
  6.     f2();
  7.     ...
  8.   } catch (some_exception e) {
  9.     ...code that handles the error...
  10.   }
  11. }
  12.  
  13. void f2() { ...; f3(); ...; }
  14. void f3() { ...; f4(); ...; }
  15. void f4() { ...; f5(); ...; }
  16. void f5() { ...; f6(); ...; }
  17. void f6() { ...; f7(); ...; }
  18. void f7() { ...; f8(); ...; }
  19. void f8() { ...; f9(); ...; }
  20. void f9() { ...; f10(); ...; }
  21.  
  22. void f10()
  23. {
  24.   ...
  25.   if (...some error condition...)
  26.     throw some_exception();
  27.   ...
  28. }
  29.  
  30. error code:
  31. int f1()
  32. {
  33.   ...
  34.   int rc = f2();
  35.   if (rc == 0) {
  36.     ...
  37.   } else {
  38.     ...code that handles the error...
  39.   }
  40. }
  41.  
  42. int f2()
  43. {
  44.   ...
  45.   int rc = f3();
  46.   if (rc != 0)
  47.     return rc;
  48.   ...
  49.   return 0;
  50. }
  51.  
  52. int f3()
  53. {
  54.   ...
  55.   int rc = f4();
  56.   if (rc != 0)
  57.     return rc;
  58.   ...
  59.   return 0;
  60. }
  61.  
  62. int f4()
  63. {
  64.   ...
  65.   int rc = f5();
  66.   if (rc != 0)
  67.     return rc;
  68.   ...
  69.   return 0;
  70. }
  71.  
  72. int f5()
  73. {
  74.   ...
  75.   int rc = f6();
  76.   if (rc != 0)
  77.     return rc;
  78.   ...
  79.   return 0;
  80. }
  81.  
  82. int f6()
  83. {
  84.   ...
  85.   int rc = f7();
  86.   if (rc != 0)
  87.     return rc;
  88.   ...
  89.   return 0;
  90. }
  91.  
  92. int f7()
  93. {
  94.   ...
  95.   int rc = f8();
  96.   if (rc != 0)
  97.     return rc;
  98.   ...
  99.   return 0;
  100. }
  101.  
  102. int f8()
  103. {
  104.   ...
  105.   int rc = f9();
  106.   if (rc != 0)
  107.     return rc;
  108.   ...
  109.   return 0;
  110. }
  111.  
  112. int f9()
  113. {
  114.   ...
  115.   int rc = f10();
  116.   if (rc != 0)
  117.     return rc;
  118.   ...
  119.   return 0;
  120. }
  121.  
  122. int f10()
  123. {
  124.   ...
  125.   if (...some error condition...)
  126.     return some_nonzero_error_code;
  127.   ...
  128.   return 0;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement