<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Dirac Video Codec</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <h1 align="center" color="#606080"> Dirac - A Video Codec </h1> <p align="center"> Created by the <a href="http://www.bbc.co.uk">British Broadcasting Corporation</a>. </p> <hr> <!-- Generated by Doxygen 1.5.9 --> <div class="contents"> <h1>dirac_exception.h File Reference</h1><code>#include <string></code><br> <code>#include <iostream></code><br> <p> <a href="a00183_source.html">Go to the source code of this file.</a><h2>Classes</h2> <ul> <li>class <a class="el" href="a00051.html">dirac::DiracException</a> <dl class="el"><dd class="mdescRight"><a class="el" href="a00051.html" title="DiracException is the class which should be used for all exceptions within Dirac...">DiracException</a> is the class which should be used for all exceptions within Dirac. <a href="a00051.html#_details">More...</a><br></dl></ul> <h2>Namespaces</h2> <ul> <li>namespace <a class="el" href="a00234.html">dirac</a> <dl class="el"><dd class="mdescRight">Definition of class <a class="el" href="a00130.html" title="A random access point within a Dirac bytestream.">SequenceHeaderByteIO</a>. <br></dl> <p> </ul> <h2>Defines</h2> <ul> <li>#define <a class="el" href="a00183.html#69836693e7ce0109853cb6cd589d90f3">DIRAC_LOG_EXCEPTION</a>(exception) <dl class="el"><dd class="mdescRight">Write an exception to the log. <a href="#69836693e7ce0109853cb6cd589d90f3"></a><br></dl><li>#define <a class="el" href="a00183.html#4b789865f6990b8be2f430b08886d015">DIRAC_THROW_EXCEPTION</a>(arg1, arg2, arg3) <dl class="el"><dd class="mdescRight">Construct an exception from 3 arguments, log it, and throw it. <a href="#4b789865f6990b8be2f430b08886d015"></a><br></dl><li>#define <a class="el" href="a00183.html#db6e56257b99e555df22cd8040ad97f2">DIRAC_CATCH_AND_RETHROW</a>() <dl class="el"><dd class="mdescRight">Catch a DiracException, log it, and rethrow it. <a href="#db6e56257b99e555df22cd8040ad97f2"></a><br></dl></ul> <h2>Enumerations</h2> <ul> <li>enum <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd">dirac::DiracErrorCode</a> { <br> <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd4b97f65ae09bd95ed1d382af3c7e9afd">dirac::ERR_UNSUPPORTED_STREAM_DATA</a> = 0, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cdbf38203f06a7ae1634a480333b648722">dirac::ERR_END_OF_STREAM</a>, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cde186ea87aba50f4dec6735741874ec90">dirac::ERR_INVALID_VIDEO_FORMAT</a>, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cdfc4cab98475a9cf6c4241879957ede88">dirac::ERR_INVALID_CHROMA_FORMAT</a>, <br> <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd02991bdd42ad10673d79c50f3f21ea2d">dirac::ERR_INVALID_PICTURE_RATE</a>, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd858c06c0bb32a77e632123c4c26a0bdb">dirac::ERR_INVALID_SIGNAL_RANGE</a>, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd5e7237ac3b59cf74b39f3fc08e5cf965">dirac::ERR_INVALID_PIXEL_ASPECT_RATIO</a>, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd69c68c09a279c7cf52316203da1a1656">dirac::ERR_INVALID_VIDEO_DEPTH</a>, <br> <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd33e43c2b77840f6cccb89644c46db2ed">dirac::ERR_INVALID_MOTION_VECTOR_PRECISION</a>, <a class="el" href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd2178e08c2336c53246702f0d9ae16bc9">dirac::ERR_INVALID_INIT_DATA</a> <br> } <dl class="el"><dd class="mdescRight">Enumeration of Dirac-defined error codes. <a href="a00234.html#68bfba0249cdd7e438ac8ed588f785cd">More...</a><br></dl><li>enum <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf8">dirac::DiracSeverityCode</a> { <br> <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf8a436f58062280abe42d3fe0069ae3be3">dirac::SEVERITY_NO_ERROR</a> = 0, <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf85779de16a3320c91142a6c2c36e8e355">dirac::SEVERITY_WARNING</a>, <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf82e57a00eed0fe008be5789af26e03145">dirac::SEVERITY_PICTURE_ERROR</a>, <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf81640e47a5b2374ae9fe283c4d5a79165">dirac::SEVERITY_ACCESSUNIT_ERROR</a>, <br> <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf86696a9745878c557baf85d5159429d8e">dirac::SEVERITY_SEQUENCE_ERROR</a>, <a class="el" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf82c1963aad626e9c93661ab37a343b16c">dirac::SEVERITY_TERMINATE</a> <br> } <dl class="el"><dd class="mdescRight">Error-severity states. <a href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf8">More...</a><br></dl></ul> <h2>Functions</h2> <ul> <li>std::ostream & <a class="el" href="a00234.html#363186b3ee3de6b66317f6d0dc713b02">dirac::operator<<</a> (std::ostream &dst, const DiracException &exception) </ul> <hr><h2>Define Documentation</h2> <a class="anchor" name="db6e56257b99e555df22cd8040ad97f2"></a><!-- doxytag: member="dirac_exception.h::DIRAC_CATCH_AND_RETHROW" ref="db6e56257b99e555df22cd8040ad97f2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DIRAC_CATCH_AND_RETHROW </td> <td>(</td> </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">catch</span> (<span class="keyword">const</span> DiracException& e) { \ DiracException exception(e); \ <a class="code" href="a00183.html#69836693e7ce0109853cb6cd589d90f3" title="Write an exception to the log.">DIRAC_LOG_EXCEPTION</a>(exception)\ <span class="keywordflow">throw</span> exception; \ } </pre></div> </div> </div><p> <a class="anchor" name="69836693e7ce0109853cb6cd589d90f3"></a><!-- doxytag: member="dirac_exception.h::DIRAC_LOG_EXCEPTION" ref="69836693e7ce0109853cb6cd589d90f3" args="(exception)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DIRAC_LOG_EXCEPTION </td> <td>(</td> <td class="paramtype">exception </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment">{ \ <span class="keywordflow">if</span>(exception.GetSeverityCode()!=<a class="code" href="a00234.html#5b2725f7cc7ff3e6e9dbb33508089bf8a436f58062280abe42d3fe0069ae3be3">SEVERITY_NO_ERROR</a>) \ std::cerr << exception.GetErrorMessage(); \ } </pre></div> </div> </div><p> <a class="anchor" name="4b789865f6990b8be2f430b08886d015"></a><!-- doxytag: member="dirac_exception.h::DIRAC_THROW_EXCEPTION" ref="4b789865f6990b8be2f430b08886d015" args="(arg1, arg2, arg3)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DIRAC_THROW_EXCEPTION </td> <td>(</td> <td class="paramtype">arg1, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">arg2, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">arg3 </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment">{ \ DiracException exception(arg1,arg2, arg3); \ <a class="code" href="a00183.html#69836693e7ce0109853cb6cd589d90f3" title="Write an exception to the log.">DIRAC_LOG_EXCEPTION</a>(exception) \ <span class="keywordflow">throw</span> exception; \ } </pre></div> <p>Referenced by <a class="el" href="a00164_source.html#l00231">dirac::GenericBandCodec< EntropyCodec >::DecodeCoeffBlock()</a>.</p> </div> </div><p> </div> <hr> <p align="center"><small> © 2004 British Broadcasting Corporation. Dirac code licensed under the <a href="http://www.mozilla.org/MPL/">Mozilla Public License (MPL) Version 1.1</a>.<br> HTML documentation generated by Dimitri van Heesch's excellent <a href="http://www.doxygen.org">Doxygen</a> tool. </small></p> </body> </html>