Ready Marjan Nikolovski Father, Dev, CEO/Emit Knowledge Down the rabbit hole Error handling examined try { } // // Blog: emitknowledge.com/research-labs.

Slides:



Advertisements
Similar presentations
1 Software Engineering Lecture 11 Software Testing.
Advertisements

Exception Handling Chapter 12.  Errors- the various bugs, blunders, typos and other problems that stop a program from running successfully  Natural.
Slides prepared by Rose Williams, Binghamton University ICS201 Exception Handling University of Hail College of Computer Science and Engineering Department.
ATTACKING AUTHENTICATION The Web Application Hacker’s Handbook, Ch. 6 Presenter: Jie Huang 10/31/2012.
Lecture 27 Exceptions COMP1681 / SE15 Introduction to Programming.
By Brian Vees.  SQL Injection  Username Enumeration  Cross Site Scripting (XSS)  Remote Code Execution  String Formatting Vulnerabilities.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
1 CODE TESTING Principles and Alternatives. 2 Testing - Basics goal - find errors –focus is the source code (executable system) –test team wants to achieve.
JSP Architecture  JSP is a simple text file consisting of HTML or XML content along with JSP elements  JSP packages define the interface for the compiled.
Handling Security Threats in Kentico CMS Karol Jarkovsky Sr. Solution Architect Kentico Software
DEV-14: Understanding and Programming for the AppServer™
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
CONTENTS:-  What is Event Log Service ?  Types of event logs and their purpose.  How and when the Event Log is useful?  What is Event Viewer?  Briefing.
Web-based Document Management System By Group 3 Xinyi Dong Matthew Downs Joshua Ferguson Sriram Gopinath Sayan Kole.
Introduction to Computer Programming Error Handling.
B USINESS LAYER SAMANVITHA RAMAYANAM 4 th MARCH 2010 CPE 691.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
JavaScript & jQuery the missing manual Chapter 11
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Telerik Software Academy ASP.NET Web Forms Data Validation, Data Validators, Validation Groups Telerik Software Academy
CSCI 6962: Server-side Design and Programming Validation Tools in Java Server Faces.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Web Scripting [PHP] CIS166AE Wednesdays 6:00pm – 9:50pm Rob Loy.
SWE 619 © Paul Ammann Procedural Abstraction and Design by Contract Paul Ammann Information & Software Engineering SWE 619 Software Construction cs.gmu.edu/~pammann/
NMD202 Web Scripting Week3. What we will cover today Includes Exercises PHP Forms Exercises Server side validation Exercises.
Exceptions Handling Exceptionally Sticky Problems.
How to Design Error Steady Code Ivaylo Bratoev Telerik Corporation
1 Software Construction and Evolution - CSSE 375 Exception Handling - Principles Steve Chenoweth, RHIT Above – Exception handling on the ENIAC. From
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
Introduction to Exception Handling and Defensive Programming.
Defensive Programming, Assertions and Exceptions Designing Fault-Resistant Code SoftUni Team Technical Trainers Software University
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Some possible final exam questions. DISCLAIMER models only These questions are models only. Some of these questions may or may not appear in the final.
SQL INJECTIONS Presented By: Eloy Viteri. What is SQL Injection An SQL injection attack is executed when a web page allows users to enter text into a.
AUC Technologies Projects Consulting, Development, Mentoring, and Training Company ASP.NET Validation Control Presented By : Muhammad Atif Hussain Deputy.
A Few Review Questions Dan Fleck Fall System Test Case Enter invalid username in the input box Able to enter text Enter invalid password in the.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Vinay Paul. CONTENTS:- What is Event Log Service ? Types of event logs and their purpose. How and when the Event Log is useful? What is Event Viewer?
Sheet 3 HANDLING EXCEPTIONS Advanced Programming using Java By Nora Alaqeel.
School of Computer Science & Information Technology G6DICP - Lecture 6 Errors, bugs and debugging.
Unit Testing Part 2: Drivers and Stubs
ASSIGNMENT 2 Salim Malakouti. Ticketing Website  User submits tickets  Admins answer tickets or take appropriate actions.
CHAPTER 10 ERROR HANDLING & DEBUGGING JavaScript can be hard to learn. Everyone makes mistakes when writing it.
IMS 3253: Validation and Errors 1 Dr. Lawrence West, MIS Dept., University of Central Florida Topics Validation and Error Handling Validation.
Functions CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Exception Handling SWE 344 Internet Protocols & Client Server Programming.
Exception Handling How to handle the runtime errors.
C# Present and Future Marita Paletsou Software Engineer.
1 Text File Input and Output. Objectives You will be able to Write text files from your Java programs. Read text files in your Java programs. 2.
1 Handling Errors and Exceptions Chapter 6. 2 Objectives You will be able to: 1. Use the try, catch, and finally statements to handle exceptions. 2. Raise.
CS 5150 Software Engineering Lecture 21 Reliability 2.
Testing 1. Aims To understand the purpose of testing To understand the different test strategies To explore the four types of test data Have a understanding.
Agenda Introduction Errors and Exception Exception Hierarchy Classification of Exceptions Built in Exceptions Exception Handling in Java User defined.
Zac Fenigshtien  Introduction: 3 Tier Architecture  SQL Injection ◦ Parameter Sandboxing ◦ Blacklisting, Whitelisting.
COTS testing Torbjørn Skramstad.
Handling Exceptionally Sticky Problems
Web Application Security
COTS testing Tor Stålhane.
MIS Professor Sandvig MIS 324 Professor Sandvig
SharePoint Cloud hosted Apps
COTS testing Tor Stålhane.
Partnership.
Example: Finding the Mode
In BI, One Size Does Not Fit All
Lecture 2 - SQL Injection
Error Handling.
Handling Exceptionally Sticky Problems
Error Handling in Java Servlets
Presentation transcript:

Ready Marjan Nikolovski Father, Dev, CEO/Emit Knowledge Down the rabbit hole Error handling examined try { } // // Blog: emitknowledge.com/research-labs

Ready

Agenda Error theory; Error types; Handling error per type; Responsible sides; Error handling strategies; Error handling for business logic; Error handling for client; Error handling for web applications; Log analytics;

Ready ERROR IS AN ANY INTERUPTION THAT STOPS THE SYSTEM TO EXECUTE A BUSINESS CONTEXT

Ready A system must have a good strategy when it comes to error handling Most of the code in a solution is trying to handle different types of errors and exceptions It is easy to specify and write code to make the system operable. Hard times come when trying to predict what can go wrong

Ready Bugs, issues we can’t predict nor control. Ex: Stackoverflow, Nullpointer... Error types using System; class Program { static void Main() { User appUser = Console.WriteLine(appUser. ); }

Ready Error from invalid input. Ex: We expect integer value, the user enters some random characters... Error types using System; class Program { static void Main() { var userIdInput = Console.ReadLine(); int id = int.Parse(userIdInput); Console.WriteLine(id); }

Ready Infrastructural problems. Ex: Missing write permissions on server, full disk, DB not available... Error types using System; class Program { static void Main() { var user = Console.WriteLine(user. ); }

Ready Bugs are system problems that we can’t handle unless we apply a patch. So what types of errors we can handle? Invalid data entry is a system problem that we can handle proactively. If we have infrastructural problems, the system should be able to notify the system administrators.

Ready End clients who are using the system. Responsible sides System administrators. Software developers.

Ready Software developers. Who should handle the bugs?

Ready Global – architectural decision on system level. Error handling strategies Local-contextual – handling errors in a process/method/action.

Ready ERROR HANDLING Web/Mobile/DeviceREST APISERVICES BUSINESS LOGIC DATA REPOSITORYEXTERNAL SERVICES

Ready Global perspective of the system. GLOBAL STRATEGY Centralized error handling. We want detailed error instead of wrapped exception. We want execution details. We want unified error messages.

Ready GLOBAL STRATEGY Internally, a system should not hide the exceptions. Ex: User.IsExistingUsername(“marjann”) -> DbConnetionException != false Externally, a system should always be transparent and should support unified error information when an error occurs. Ex: Invalid username, Username is not valid!?

Ready Say hello to the local context. What if we can retry? Use local context as an exception to the rule! We can’t predict and handle all of the errors, but we must keep the system alive. Exception to the rule: If it does not work fake it!

Ready Unification of errors, codes and groups. Error handling for business logic Information about an error(Error Info) against Exceptions. Enrich an error with data for logging aspect.

Ready Demo

Ready Be transparent and show enough information to the end user. Error handling for client

Ready Demo

Ready Error message localization. Error handling for web applications Transferring error information back to the app.

Ready Demo

Ready Who, What, How, Where, When? Log analytics PROM – tool for process mining. We should be able to answer: - How our system is used? - Where our system perform slow? - Parameters of execution? - Patterns of execution?

Ready

catch(PPTException up){ } Logger.Log(“QUESTIONS?”, up); throw up;