diff options
Diffstat (limited to 'doc/langref.tex')
-rw-r--r-- | doc/langref.tex | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/doc/langref.tex b/doc/langref.tex index 0f5b92d2..27ac1c33 100644 --- a/doc/langref.tex +++ b/doc/langref.tex @@ -52,7 +52,7 @@ \newpage{} This document was derived from other documents contributed to the SystemTap project by employees of Red Hat, IBM and Intel.\newline -Copyright \copyright\space 2007-2009 Red Hat Inc.\newline +Copyright \copyright\space 2007-2010 Red Hat Inc.\newline Copyright \copyright\space 2007-2009 IBM Corp.\newline Copyright \copyright\space 2007 Intel Corporation.\newline @@ -1869,6 +1869,28 @@ nesting loop statement, such as within a \texttt{while, for,} or \texttt{foreach statement. The syntax and semantics are the same as those used in C. +\subsection{try/catch} +\index{try} +\index{catch} +Use \texttt{try}/\texttt{catch} to handle most kinds of run-time errors within the script +instead of aborting the probe handler in progress. The semantics are similar +to C++ in that try/catch blocks may be nested. The error string may be captured +by optionally naming a variable which is to receive it. + +\begin{vindent} +\begin{verbatim} +try { + /* do something */ + /* trigger error like kread(0), or divide by zero, or error("foo") */ +} catch (msg) { /* omit (msg) entirely if not interested */ + /* println("caught error ", msg) */ + /* handle error */ +} +/* execution continues */ +\end{verbatim} +\end{vindent} + + \subsection{delete} \index{delete} \texttt{delete} removes an element. |