SlideShare uma empresa Scribd logo
1 de 13
 Errors in Lisp
overview General error-signaling functions Specialized error signaling Forms and Macros Special Forms for exhaustive Case Analysis
List functions may signal an error when given incorrect arguments. Each implementation of common lisp will provide an interactive debugger that prints the error message along with suitable contextual information such as which function detected the error. Conditions subsume and generalize the notation of errors. The conditions system also provides means for handling conditions and for restarting a computation after a condition has been signaled.
General error-signaling functions These functions provide mechanisms for warnings, breaks, continuable errors, and fatal errors. The caller specifies an error message( a string) that may be processed by the error handling mechanism. Error message should not contain a new-line character either at the beginning or at the end.
 error format-string &rest args The function signals a fatal error. It is impossible to continue from this kind of error.  ,[object Object],Warn prints an error message but normally doesn’t go into the debugger. ‘ This may be controlled by the variable break *break-on-warnings* If the variable *break-on-warnings* is not null, then the function warn behaves like break.
 cerror continue-format-string error-format-string &rest args Cerror is used to signal continuable errors, it allows the program to be continued from debugger after resolving the error.  break &optional format-string &rest args Break prints the message and goes directly into the debugger, without allowing any possibility of interception by programmed error-handling facilities.
Specialized error signaling Forms and Macros These facilitate the user to insert error checks into the code. Check-type place typespec [string] Check-type signals an error if the contents of place are not of the desired type. The user will be asked for a new value, the check-type will store the new value in place and start over. The place must be a generalized variable reference acceptable to setf. Typespec must be a type specifier. (it is not evaluated.) String must be an English description of the type, starting with an indefinite article ( “a” or “an”). (it is evaluated.)
assert test-form [({place}* ) [string {arg}*]] assert signals an error if the value of the test-form is nil. Continuing from this error allows the user to alter the values of some variables , and assert will start over, evaluating the test form again. assert returns nil.
Special Forms for exhaustive Case Analysis etypecase and ecase are similar to typecase and case, but signal a continuable error if no clause is selected. Ctypecase and ccase are similar to typecase and case, but signal a continuable error if no clause is selected. ,[object Object],This control construct is similar to typecase, but no explicit otherwise or t clause is permitted.
To supply an application-specific error, the user must use typecase with an otherwise clause containing a call to error.  Ctypecase keyplace { (type {form}* )}* The keyplace must be a generalized  variable reference acceptable to setf. If n o clause is satisfied, ctypecase signals an error with a message constructed from the clauses.
[object Object],If no clause is satisfied, ecase signals an error with a message constructed from the clauses. It is not permissible to continue from this error. To supply an error message, the user must use case with an otherwise clause containing a call to error.
[object Object],The keyplace must be a generalized vale reference acceptable to setf. Continuing from this error causes ccase to accept a new value from the user, store it into keyplace, and start over, making the clause tests again. Subforms of keyplace may be evaluated multiple times.
Visit more self help tutorials Pick a tutorial of your choice and browse through it at your own pace. The tutorials section is free, self-guiding and will not involve any additional support. Visit us at www.dataminingtools.net

Mais conteúdo relacionado

Mais procurados

Control structures
Control structuresControl structures
Control structures
Gehad Enayat
 
Control structures in Java
Control structures in JavaControl structures in Java
Control structures in Java
Ravi_Kant_Sahu
 

Mais procurados (17)

Switch Case in C Programming
Switch Case in C ProgrammingSwitch Case in C Programming
Switch Case in C Programming
 
If-else and switch-case
If-else and switch-caseIf-else and switch-case
If-else and switch-case
 
Timedobserver
TimedobserverTimedobserver
Timedobserver
 
10. switch case
10. switch case10. switch case
10. switch case
 
Ppt lesson 06
Ppt lesson 06Ppt lesson 06
Ppt lesson 06
 
JetBrains MPS: Editor Aspect
JetBrains MPS: Editor AspectJetBrains MPS: Editor Aspect
JetBrains MPS: Editor Aspect
 
Software Engineering - Module 3: Lesson7
Software Engineering - Module 3: Lesson7Software Engineering - Module 3: Lesson7
Software Engineering - Module 3: Lesson7
 
OOPS With CSharp - Jinal Desai .NET
OOPS With CSharp - Jinal Desai .NETOOPS With CSharp - Jinal Desai .NET
OOPS With CSharp - Jinal Desai .NET
 
C# conditional branching statement
C# conditional branching statementC# conditional branching statement
C# conditional branching statement
 
C rules
C rulesC rules
C rules
 
itft-Decision making and branching in java
itft-Decision making and branching in javaitft-Decision making and branching in java
itft-Decision making and branching in java
 
Chapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java StatementsChapter 2 : Programming with Java Statements
Chapter 2 : Programming with Java Statements
 
Control structures
Control structuresControl structures
Control structures
 
Programming style guideline very good
Programming style guideline very goodProgramming style guideline very good
Programming style guideline very good
 
Selection statements
Selection statementsSelection statements
Selection statements
 
Control structures in Java
Control structures in JavaControl structures in Java
Control structures in Java
 
Java Decision Control
Java Decision ControlJava Decision Control
Java Decision Control
 

Destaque

Destaque (20)

MS SQL SERVER: Microsoft naive bayes algorithm
MS SQL SERVER: Microsoft naive bayes algorithmMS SQL SERVER: Microsoft naive bayes algorithm
MS SQL SERVER: Microsoft naive bayes algorithm
 
WEKA: Output Knowledge Representation
WEKA: Output Knowledge RepresentationWEKA: Output Knowledge Representation
WEKA: Output Knowledge Representation
 
Anime
AnimeAnime
Anime
 
Portavocía en redes sociales
Portavocía en redes socialesPortavocía en redes sociales
Portavocía en redes sociales
 
MS Sql Server: Reporting introduction
MS Sql Server: Reporting introductionMS Sql Server: Reporting introduction
MS Sql Server: Reporting introduction
 
LISP: Declarations In Lisp
LISP: Declarations In LispLISP: Declarations In Lisp
LISP: Declarations In Lisp
 
Introduction To Programming in Matlab
Introduction To Programming in MatlabIntroduction To Programming in Matlab
Introduction To Programming in Matlab
 
MED dra Coding -MSSO
MED dra Coding -MSSOMED dra Coding -MSSO
MED dra Coding -MSSO
 
R Statistics
R StatisticsR Statistics
R Statistics
 
How To Make Pb J
How To Make Pb JHow To Make Pb J
How To Make Pb J
 
Facebook: An Innovative Influenza Pandemic Early Warning System
Facebook: An Innovative Influenza Pandemic Early Warning SystemFacebook: An Innovative Influenza Pandemic Early Warning System
Facebook: An Innovative Influenza Pandemic Early Warning System
 
WEKA: Credibility Evaluating Whats Been Learned
WEKA: Credibility Evaluating Whats Been LearnedWEKA: Credibility Evaluating Whats Been Learned
WEKA: Credibility Evaluating Whats Been Learned
 
Paramount Search Partners
Paramount Search PartnersParamount Search Partners
Paramount Search Partners
 
Festivals Refuerzo
Festivals RefuerzoFestivals Refuerzo
Festivals Refuerzo
 
Data Applied:Decision Trees
Data Applied:Decision TreesData Applied:Decision Trees
Data Applied:Decision Trees
 
RapidMiner: Setting Up A Process
RapidMiner: Setting Up A ProcessRapidMiner: Setting Up A Process
RapidMiner: Setting Up A Process
 
Simulation
SimulationSimulation
Simulation
 
Probability And Its Axioms
Probability And Its AxiomsProbability And Its Axioms
Probability And Its Axioms
 
MS Sql Server: Doing Calculations With Functions
MS Sql Server: Doing Calculations With FunctionsMS Sql Server: Doing Calculations With Functions
MS Sql Server: Doing Calculations With Functions
 
Anime
AnimeAnime
Anime
 

Semelhante a LISP: Errors In Lisp

Java căn bản - Chapter8
Java căn bản - Chapter8Java căn bản - Chapter8
Java căn bản - Chapter8
Vince Vo
 
C++ PROGRAMMING BASICS
C++ PROGRAMMING BASICSC++ PROGRAMMING BASICS
C++ PROGRAMMING BASICS
Aami Kakakhel
 
Effective Java Second Edition
Effective Java Second EditionEffective Java Second Edition
Effective Java Second Edition
losalamos
 

Semelhante a LISP: Errors In Lisp (20)

Annotations in Java with Example.pdf
Annotations in Java with Example.pdfAnnotations in Java with Example.pdf
Annotations in Java with Example.pdf
 
Java 7 new features
Java 7 new featuresJava 7 new features
Java 7 new features
 
Cordova training : Day 3 - Introduction to Javascript
Cordova training : Day 3 - Introduction to JavascriptCordova training : Day 3 - Introduction to Javascript
Cordova training : Day 3 - Introduction to Javascript
 
C language UPTU Unit3 Slides
C language UPTU Unit3 SlidesC language UPTU Unit3 Slides
C language UPTU Unit3 Slides
 
C# language basics (Visual Studio)
C# language basics (Visual Studio) C# language basics (Visual Studio)
C# language basics (Visual Studio)
 
C# language basics (Visual studio)
C# language basics (Visual studio)C# language basics (Visual studio)
C# language basics (Visual studio)
 
java notes.pdf
java notes.pdfjava notes.pdf
java notes.pdf
 
Java input Scanner
Java input Scanner Java input Scanner
Java input Scanner
 
Introduction to C#
Introduction to C#Introduction to C#
Introduction to C#
 
Intake 38 2
Intake 38 2Intake 38 2
Intake 38 2
 
Co&al lecture-07
Co&al lecture-07Co&al lecture-07
Co&al lecture-07
 
Java căn bản - Chapter8
Java căn bản - Chapter8Java căn bản - Chapter8
Java căn bản - Chapter8
 
Chapter 8 - Exceptions and Assertions Edit summary
Chapter 8 - Exceptions and Assertions  Edit summaryChapter 8 - Exceptions and Assertions  Edit summary
Chapter 8 - Exceptions and Assertions Edit summary
 
Bt0067 c programming and data structures 1
Bt0067 c programming and data structures 1Bt0067 c programming and data structures 1
Bt0067 c programming and data structures 1
 
Cprogrammingprogramcontrols
CprogrammingprogramcontrolsCprogrammingprogramcontrols
Cprogrammingprogramcontrols
 
C++ PROGRAMMING BASICS
C++ PROGRAMMING BASICSC++ PROGRAMMING BASICS
C++ PROGRAMMING BASICS
 
Ast transformation
Ast transformationAst transformation
Ast transformation
 
Final requirement
Final requirementFinal requirement
Final requirement
 
Programming in Arduino (Part 2)
Programming in Arduino  (Part 2)Programming in Arduino  (Part 2)
Programming in Arduino (Part 2)
 
Effective Java Second Edition
Effective Java Second EditionEffective Java Second Edition
Effective Java Second Edition
 

Mais de DataminingTools Inc

Mais de DataminingTools Inc (20)

Terminology Machine Learning
Terminology Machine LearningTerminology Machine Learning
Terminology Machine Learning
 
Techniques Machine Learning
Techniques Machine LearningTechniques Machine Learning
Techniques Machine Learning
 
Machine learning Introduction
Machine learning IntroductionMachine learning Introduction
Machine learning Introduction
 
Areas of machine leanring
Areas of machine leanringAreas of machine leanring
Areas of machine leanring
 
AI: Planning and AI
AI: Planning and AIAI: Planning and AI
AI: Planning and AI
 
AI: Logic in AI 2
AI: Logic in AI 2AI: Logic in AI 2
AI: Logic in AI 2
 
AI: Logic in AI
AI: Logic in AIAI: Logic in AI
AI: Logic in AI
 
AI: Learning in AI 2
AI: Learning in AI 2AI: Learning in AI 2
AI: Learning in AI 2
 
AI: Learning in AI
AI: Learning in AI AI: Learning in AI
AI: Learning in AI
 
AI: Introduction to artificial intelligence
AI: Introduction to artificial intelligenceAI: Introduction to artificial intelligence
AI: Introduction to artificial intelligence
 
AI: Belief Networks
AI: Belief NetworksAI: Belief Networks
AI: Belief Networks
 
AI: AI & Searching
AI: AI & SearchingAI: AI & Searching
AI: AI & Searching
 
AI: AI & Problem Solving
AI: AI & Problem SolvingAI: AI & Problem Solving
AI: AI & Problem Solving
 
Data Mining: Text and web mining
Data Mining: Text and web miningData Mining: Text and web mining
Data Mining: Text and web mining
 
Data Mining: Outlier analysis
Data Mining: Outlier analysisData Mining: Outlier analysis
Data Mining: Outlier analysis
 
Data Mining: Mining stream time series and sequence data
Data Mining: Mining stream time series and sequence dataData Mining: Mining stream time series and sequence data
Data Mining: Mining stream time series and sequence data
 
Data Mining: Mining ,associations, and correlations
Data Mining: Mining ,associations, and correlationsData Mining: Mining ,associations, and correlations
Data Mining: Mining ,associations, and correlations
 
Data Mining: Graph mining and social network analysis
Data Mining: Graph mining and social network analysisData Mining: Graph mining and social network analysis
Data Mining: Graph mining and social network analysis
 
Data warehouse and olap technology
Data warehouse and olap technologyData warehouse and olap technology
Data warehouse and olap technology
 
Data Mining: Data processing
Data Mining: Data processingData Mining: Data processing
Data Mining: Data processing
 

Último

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

LISP: Errors In Lisp

  • 2. overview General error-signaling functions Specialized error signaling Forms and Macros Special Forms for exhaustive Case Analysis
  • 3. List functions may signal an error when given incorrect arguments. Each implementation of common lisp will provide an interactive debugger that prints the error message along with suitable contextual information such as which function detected the error. Conditions subsume and generalize the notation of errors. The conditions system also provides means for handling conditions and for restarting a computation after a condition has been signaled.
  • 4. General error-signaling functions These functions provide mechanisms for warnings, breaks, continuable errors, and fatal errors. The caller specifies an error message( a string) that may be processed by the error handling mechanism. Error message should not contain a new-line character either at the beginning or at the end.
  • 5.
  • 6.  cerror continue-format-string error-format-string &rest args Cerror is used to signal continuable errors, it allows the program to be continued from debugger after resolving the error. break &optional format-string &rest args Break prints the message and goes directly into the debugger, without allowing any possibility of interception by programmed error-handling facilities.
  • 7. Specialized error signaling Forms and Macros These facilitate the user to insert error checks into the code. Check-type place typespec [string] Check-type signals an error if the contents of place are not of the desired type. The user will be asked for a new value, the check-type will store the new value in place and start over. The place must be a generalized variable reference acceptable to setf. Typespec must be a type specifier. (it is not evaluated.) String must be an English description of the type, starting with an indefinite article ( “a” or “an”). (it is evaluated.)
  • 8. assert test-form [({place}* ) [string {arg}*]] assert signals an error if the value of the test-form is nil. Continuing from this error allows the user to alter the values of some variables , and assert will start over, evaluating the test form again. assert returns nil.
  • 9.
  • 10. To supply an application-specific error, the user must use typecase with an otherwise clause containing a call to error.  Ctypecase keyplace { (type {form}* )}* The keyplace must be a generalized variable reference acceptable to setf. If n o clause is satisfied, ctypecase signals an error with a message constructed from the clauses.
  • 11.
  • 12.
  • 13. Visit more self help tutorials Pick a tutorial of your choice and browse through it at your own pace. The tutorials section is free, self-guiding and will not involve any additional support. Visit us at www.dataminingtools.net