This document discusses error handling techniques in various programming languages and frameworks including @Formulas, JavaScript, Java, Lotusscript, and XPages. It provides examples of try/catch blocks to handle exceptions, throwing custom errors, and registering general error handlers. The key approaches discussed are anticipating errors, using defensive programming, throwing and catching custom exceptions, and handling errors at different levels to provide user-friendly messages.
Exception is an error event that can happen during the execution of a program and disrupts its normal flow. Java provides a robust and object oriented way to handle exception scenarios, known as Java Exception Handling.
Exception is an error event that can happen during the execution of a program and disrupts its normal flow. Java provides a robust and object oriented way to handle exception scenarios, known as Java Exception Handling.
JAVA EXCEPTION HANDLING
N.V.Raja Sekhar Reddy
www.technolamp.co.in
Want more interesting...
Watch and Like us @ https://www.facebook.com/Technolamp.co.in
subscribe videos @ http://www.youtube.com/user/nvrajasekhar
Demonstrate some great aspects of Mockito. Made for Mockito v1.8.5.
All examples can be found @
https://github.com/dodozhang21/MockitoExamples
Ying Zhang (Dodo) http://pure-essence.net
JAVA EXCEPTION HANDLING
N.V.Raja Sekhar Reddy
www.technolamp.co.in
Want more interesting...
Watch and Like us @ https://www.facebook.com/Technolamp.co.in
subscribe videos @ http://www.youtube.com/user/nvrajasekhar
Demonstrate some great aspects of Mockito. Made for Mockito v1.8.5.
All examples can be found @
https://github.com/dodozhang21/MockitoExamples
Ying Zhang (Dodo) http://pure-essence.net
Harness the power of XPages in Lotus Dominodominion
One of the latest additions to the Domino Web developers\' toolkit of technologies,
XPages, is also arguably its most powerful and revolutionary to date. XPages allows
for functionality and capabilities previously thought impossible to achieve in Domino
application development.
TypeScript lets you write JavaScript the way you really want to. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. TypeScript is pure object oriented with classes, interfaces and statically typed like C# or Java. The popular JavaScript framework Angular 2.0 is written in TypeScript. Mastering TypeScript can help programmers to write object-oriented programs and have them compiled to JavaScript, both on server side and client side.
Exception handling - Fundamentals of exception handling, Exception types, Termination or resumptive models, Uncaught exceptions, using try and catch, multiple catch clauses, nested try statements, throw, throws and finally, built- in exceptions, creating own exception sub classes.
Multithreading- Differences between thread-based multitasking and process-based multitasking, Java thread model, creating threads, thread priorities, synchronizing threads, inter thread communication
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongPROIDEA
It’s late 2016, so you probably have been using Java 8 goodies for a while: lambdas, Stream, Optional, new date API ‒ stuff which makes Java development much more pleasant. But the question is: do you know these tools well? I bet you said yes, because writing sweet Java 8 code is piece of cake ‒ you’re using efficient, parallel streams and many lambdas, so what could possibly go wrong? Let me put this straight: most probably you’re doing something wrong. In this talk I won’t actually try to prove that you don’t know what you’re doing, on the contrary ‒ I’ll try to help you be a better programmer by pointing out few mistakes you can make when writing Java 8 code (I know that because I made them all). I’ll also discuss couple common misconceptions regarding Stream and Optional and mention missing language features (also if there is a chance to see them in Java 9 or what library should you use instead). Last but not least, I’ll present you a number of lesser-known gems I found in deepest corners of JDK API, which, I hope, will make your life as a software developer a little bit easier.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
2. What is error handling?
Errorhandling in:
◦@Formula
◦Javascript
◦Lotusscript
◦Java
◦xPages
Openlog
3. Anticipate, detect and process of programming, user and
environment failures or errors
Prevent partially by defensive programming
What counts is what you do with the errors
4.
5.
6. • Loads of cryptical error messages – no info about triggered
events
• No central error handling possible - be sparse with your
@Formulas - use display fields for re-usable calculations
• Defensive programming (@IsError, Test DataTypes:
@Elements, @IsTime, @IsNumber, @Text ...)
7.
8. Standard try - catch routine
try {
// call a function that could error out
var result = getInvoiceNumbers(customerNumber,invoiceDate);;
}
catch (e) {
result = "Error in retrieving invoices";
}
// optional use finally runs after the try/catch block
finally {
window.Forms[0].fldname.value = result
}
Throw your own errors
if (number > 10) { throw "NumberTooHighError" }
9. Try - catch routine based on error type
try {
var result = getInvoiceNumbers(customerNumber,invoiceDate);
}
catch (e
if e == "CustomerNumberException") {
result = "Incorrect customerNumber";
}
else if e == "DateErrorException") {
result = "Incorrect Date";
}
else result = "Error in retrieving invoices";
}
10. To register a general errorHandler use:
(window.)onerror=functionname()
This function will have 3 input variables like:
function functionname(msg,url,line_num)
You can use these variables to log/show the error details
11.
12. ◦ use On Error blocks
◦ is a big nono .. you are supposed to
On Error resume next
handle things, not ignoring them
◦ You have differtent audiences: users, developers,
administrators. So throw custom errors.
◦ Then handle specific errors
◦ Option Declare prevents some programmatic errors
◦ Create a template in the new 8.5.1 LS IDE for your error
new!
handling blocks in subs and functions
13.
14. • As with JavaScript use try - catch - finally blocks and
throw/catch custom errors
Try {
List list = new ArrayList(getInvoiceNumbers(customerNumber,invoiceD
ate));
} catch ( IOException e) {
// handle/log this error
} catch ( OtherErrorException e) {
// again handle this
} catch (Exception e) {
// other errors
}
// optional
}finally {
}
15. • Chose:
o Handle errors in subfunctions
o Throw the error back to higher functions
private Integer convertToInteger(String str) {
try {
Integer intObj2 = Integer.valueOf(str)
} catch (e) { // do something }
return int;
}
private Integer convertToInteger(String str) throws
NumberFormatException {
Integer intObj2 = Integer.valueOf(str)
}
16. class CustomException extends Exception {
public CustomException(String msg){
super(msg);
}
}
public class Test {
public static void main(String[] args) {
try {
System.out.println(divide(4,0));
}
catch (CustomException e) { e.printStackTrace(); }
}
static int divide(int first,int second) throws CustomException{
if(second==0) throw new MyException("dividing by zero");
return first/second;
}
}
17.
18. Error handling in xPages
• Default errorpage on server (admin can change xspnsfxsp.properties)
• Set errorpage in application
• Custom Error page (general, debug, specific)
• Logging to AgentLog
21. ◦ Getting it to work is NOT ENOUGH!
◦ Always add errorhandling to production code
◦ Thou shall avoid the use of hard coded stuff
◦ When not sure: check
◦ If it can go wrong, it will go wrong. At one point.
◦ Think first, then build your logic
◦ Do not repeat code
◦ Use only one line of code in events (click,
query*)
◦ Your users are dumb ...
but: you are even dumber (if you ignore them)
◦ Make your code beautiful: comment not what,
but why and use meaningfull names
22. Vince Schuurman Martin Schaefer
vince.schuurman@gmail.com martin@mschaefer.nl