Learn how to report errors with the die() function.
- The die function will display an error message and then immediately exit the script. This is convenient for handling error conditions. Here's a working copy of hello.pl from chapter 13 of the Exercise Files. And just for illustration purposes, I'm going to create a variable called condition and assign it a true value, which, in this case, is the integer value one. And then, I'm going to test that condition. And if the condition is true, it will say condition true.
And if it is not true, we'll say condition is false. Now, when I run this, of course it says true. And if I change this one to a zero and run it, it'll say false. Now, let's say that this is a really fatal error, and I don't want this to just end. Here, let me go ahead down here and put in a print statement, after conditional. So, we can see that when I run this, it still continues after the conditional.
But if I put in die instead of say, couple of things happen. When I run this, you'll notice that it does not print after the conditional, and it prints the message condition is false. And then, it goes ahead and it gives us some more information. It gives us the name of the script where it encountered the error and the line number. Also, you'll notice that it's in red. This error message is sent to standard error, not to standard output. In this Komodo environment, the standard error stream is displayed in red to show the distinction.
And it gives you that nice little information afterwards, the file name and the line number. Now, I'm gonna put double quotes on here, so I can include a new line. If you include a new line in the string, the error will not give you the script and line number. It'll just give you the error to standard out. And I'm gonna run that. And yet, it does exit. So, it gives the error and it exits. And so, the print statement is not displayed because the script has actually stopped at the die.
So, if you desire to control your error-reporting behavior a little more than this, you can, of course, create your own error exit function. And I'll normally do this in larger scripts. So, I'll just say, errorexit and my message, shift or, our message goes here, in case I had forgotten to include one. And I'll say and send this to standard error. And something like the name of the program, it could be some other information.
In this case, I'm just gonna put, I've got a bad feeling about this and the message itself. And then, I can do whatever other processing I want to do, and then, I can exit. You know, I could clean up, spawn some other error reporting utility, whatever. And now, if I wanna be able to call this like this, without parentheses, I can come up here and I can say, use subs. And now, I can say errorexist instead of die, here. And when I run this, it says, I've got a bad feeling about this, condition is false.
It'll do whatever other processing I wanna do in my custom errorexit. So, this is a possible alternative to die. Die is nice because it can give you that little stack trace. It can tell you exactly what line number the error's on. There's ways you can do that in your own function, as well. But using the built-in die function, your understanding how to do that is an important part of good programming in Perl, and I strongly recommend that you use it or something like it liberally.
Watch to learn the details of the Perl syntax, from variables, conditionals, loops, and data structures to regular expressions, functions, and references. A quick-start guide is included for experienced developers who want to get up and running with Perl 5 fast, and the entire course is recommended for both new and experienced programmers alike. Later chapters cover file handling and reusing code with Perl modules, plus Perl best coding practices.
- Understanding Perl's general syntax and the anatomy of a Perl script
- Writing statements and expressions
- Creating assignments
- Working with variables and strings
- Using data types effectively
- Defining logical flow with conditionals and loops
- Using special variables
- Using Perl operators
- Performing simple Perl programming tasks with expressions
- Matching data
- Defining and calling functions
- Using references
- Handling files in the file I/O
- Using built-in functions
- Reusing code with modules
- Coding with Perl best practices
Skill Level Intermediate
Programming Foundations: Refactoring Codewith Simon Allardice1h 44m Intermediate
1. Setting Up
About Perl3m 36s
2. Quick Start
3. Basic Syntax
4. Values and Variables
7. Special Variables
9. Regular Expressions
11. References and Structures
12. File I/O
13. Built-In Functions
15. Best Practices
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.