Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OutSystems community meetup 2019 03_how to handle exceptions like a pro

142 views

Published on

Belgian OutSystems community meetup presention of march 2019. Subject: How to handle execeptions like an OutSystems Pro

Published in: Technology
  • Be the first to comment

OutSystems community meetup 2019 03_how to handle exceptions like a pro

  1. 1. Enjoying challenges, providing solutions.
  2. 2. How to Handle Exceptions like a Pro
  3. 3. Topics • What is an Exception? • How does Outsystems categorize Exceptions? • How does Outsystems handle Exceptions? • Exception Encapsulation: Tips and Tricks • Special Cases • Timers • BPT • REST
  4. 4. What is an Exception? An exception is an abnormal or unprecedented event that occurs after the execution of a software program or application. It is a runtime error of an undesired result or event affecting normal program flow. An exception is also known as a fault. A person or thing that is excluded from a general statement or does not follow a rule.
  5. 5. What is an Exception?
  6. 6. What is an Exception?
  7. 7. Outsystems Exceptions Tools • Raise Exception • Exception Message • Exception (Type)
  8. 8. Outsystems Exceptions Tools • Exception Handler • Abort Transaction • Log Error
  9. 9. Outsystems Exceptions Categorization • Database Exception • Security Exception • Communication Exception • Abort Activity Exception • User Exceptions
  10. 10. Outsystems Exception Handling Exception Handler for MyUserException? Exception Handler for CategorizedExceptions? Exception Handler for AllExceptions?
  11. 11. Outsystems Exception Handling Exception Handler for UI Flow? Exception Handler for the Module/eSpace? Application abort
  12. 12. Exception Encapsulation: Tips and Tricks Integration Layer • Catch the exception • Log it • Define an output with a success and a message • Do not abort the transaction! • Optional: Expose a ‘user friendly’ message in case of unknown error
  13. 13. Exception Encapsulation: Tips and Tricks Core Services Layer • Which is the context? • Sub-action of a bigger flow? • Encapsulate • Normal action to be used on the users layer? • Do not encapsulate • ‘User Friendly’ messages are a must (don’t forget the translations)
  14. 14. Exception Encapsulation: Tips and Tricks Users Layer • Do not encapsulate
  15. 15. Special Cases Timers • The timeout issue • Timeout Variable • Timer scheduling properties • Retry mechanism • Service Center – Environment Configuration
  16. 16. Special Cases BPT • The timeout issue • 5 min • Theoretically, it can retry ‘forever’
  17. 17. Special Cases REST • All above a 400 is logged and thrown as an exception • Sometimes it is an expected behaviour • OnResponse Event allows to catch the response and manipulated as needed
  18. 18. Useful Links • https://success.outsystems.com/Documentation/11/Developing_an_Application/Implement_ Application_Logic/Handle_Exceptions • https://success.outsystems.com/Documentation/11/Developing_an_Application/Implement_ Application_Logic/Handle_Exceptions/Exception_Handling_Mechanism • https://success.outsystems.com/Documentation/11/Extensibility_and_Integration/REST/Con sume_REST_APIs/Handling_REST_Errors • https://success.outsystems.com/Documentation/11/Reference/OutSystems_Language/Proce sses/Process_Tools/Automatic_Activity
  19. 19. Thank you!
  20. 20. Amsterdam Evert van Beekstraat 1-76 1118 CL Schiphol Nederland +31 (0)76 711 54 00 info@iadvise.eu Breda Neerloopweg 364814 RS Breda Nederland +31 (0)76 711 54 00 info@iadvise.eu Antwerpen Veldkant 33b 2550 Kontich België +32 (0)3 451 93 28 info@iadvise.eu

×