<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN"
      xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.w3.org/1999/xhtml
                          http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
  <title>ImageMagick: Exceptions</title>
  <meta http-equiv="Content-Language" content="en-US"/>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
  <meta name="Application-name" content="ImageMagick"/>
  <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images."/>
  <meta name="Application-url" content="http://www.imagemagick.org"/>
  <meta name="Generator" content="PHP"/>
  <meta name="Keywords" content="exceptions, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
  <meta name="Rating" content="GENERAL"/>
  <meta name="Robots" content="INDEX, FOLLOW"/>
  <meta name="Generator" content="ImageMagick Studio LLC"/>
  <meta name="Author" content="ImageMagick Studio LLC"/>
  <meta name="Revisit-after" content="2 DAYS"/>
  <meta name="Resource-type" content="document"/>
  <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
  <meta name="Distribution" content="Global"/>
  <link rel="icon" href="../images/wand.png"/>
  <link rel="shortcut icon" href="../images/wand.ico"  type="images/x-icon"/>
  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
  <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
  <style type="text/css" media="all">
    @import url("../www/magick.css");
  </style>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
  <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
  <script type="text/javascript">
    $(document).ready(function() {
      $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
        'transitionIn'  : 'elastic',
        'transitionOut' : 'elastic',
        'overlayShow'   : false,
        'opacity'       : true
      });
    });
  </script>
</head>

<body id="www-imagemagick-org">
<div class="titlebar">
<div style="margin: 17px auto; float: left;">
  <script type="text/javascript">
  <!--
    google_ad_client = "pub-3129977114552745";
    google_ad_slot = "5439289906";
    google_ad_width = 728;
    google_ad_height = 90;
  //-->
  </script>
  <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  </script>
</div>
<a href="http://www.imagemagick.org/discourse-server/">
  <img src="../images/logo.jpg"
  alt="ImageMagick Logo"
  style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
<a href="../index.html">
  <img src="../images/sprite.jpg"
  alt="ImageMagick Sprite"
  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
</div>

<div class="westbar">

<div class="menu">
  <a title="About ImageMagick" href="../index.html">About ImageMagick</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Binary Releases" href="../www/binary-releases.html">Binary Releases</a>
</div>
<div class="sub">
    <a title="Binary Release: Unix" href="../www/binary-releases.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Binary Release: MacOS X" href="../www/binary-releases.html#macosx">Mac OS X</a>
</div>
<div class="sub">
    <a title="Binary Release: iPhone" href="../www/binary-releases.html#iPhone">iPhone</a>
</div>
<div class="sub">
    <a title="Binary Release: Windows" href="../www/binary-releases.html#windows">Windows</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Command-line Tools" href="../www/command-line-tools.html">Command-line Tools</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Processing" href="../www/command-line-processing.html">Processing</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Options" href="../www/command-line-options.html">Options</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
</div>
<div class="menu">
  <a title="Program Interfaces" href="../www/api.html">Program Interfaces</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickWand" href="../www/magick-wand.html">MagickWand</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickCore" href="../www/magick-core.html">MagickCore</a>
</div>
<div class="sub">
    <a title="Program Interface: PerlMagick" href="../www/perl-magick.html">PerlMagick</a>
</div>
<div class="sub">
    <a title="Program Interface: Magick++" href="../www/magick++.html">Magick++</a>
</div>
<div class="sep"></div>
<div  class="menu">
   <a title="Install from Source" href="../www/install-source.html">Install from Source</a>
</div>
<div class="sub">
    <a title="Install from Source: Unix" href="../www/install-source.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Install from Source: Windows" href="../www/install-source.html#windows">Windows</a>
 </div>
<div class="menu">
  <a title="Resources" href="../www/resources.html">Resources</a>
</div>
<div class="menu">
  <a title="Architecture" href="../www/architecture.html">Architecture</a>
</div>
<div class="menu">
  <a title="Download" href="../www/download.html">Download</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Search" href="../www/search.html">Search</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Site Map" href="../www/sitemap.html">Site Map</a>
</div>
<div  class="sub">
  <a title="Site Map: Links" href="../www/links.html">Links</a>
</div>
<div class="sep"></div>
<div  class="menu">
  <a rel="follow" title="Sponsors" href="../www/sponsors.html">Sponsors:</a>

<a href="http://www.networkredux.com">
  <img src="../images/networkredux.png" alt="[sponsor]"
  style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
<div class="sponsbox">
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Deals" href="http://www.webhostingdeals.org">Web Hosting Deals</a><!-- 201111010270 chee.hoa darin -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
   <a rel="follow" title="Sponsor: Autoteile Online Shop" href="http://www.autoteile-carparts.de">Autoteile Online Shop</a><!-- 2011080100030 autoteile-Carparts-->
</div>
</div>
</div>
</div>

<div class="eastbar">

</div>

<div class="main">

<h1>ImageMagick Exceptions</h1>
<p class="navigation-index"></p>

<div class="doc-section">
<p>ImageMagick returns a status of 0 whenever a command or algorithm successfully complete without complaint.  A warning code generally is typically just a notice that something unusual occurred but the command or algorithm still completed and most likely the results are still usable.  An error means the command or algorithm could not complete as expected and any results are unreliable.  A fatal error means the command or algorithm could not complete and the process exits prematurely and no results are returned.</p>

<table class="doc">
  <caption>ImageMagick Error and Warning Codes</caption>
  <tbody>
  <tr>
    <th style="width: 15%">Domain</th>
    <th>Description</th>
    <th>Warning</th>
    <th>Error</th>
    <th>Fatal Error</th>
  </tr>

  <tr>
    <td valign="top">Success</td>
    <td valign="top">the command or algorithm completed successfully without complaint</td>
    <td valign="top">0</td>
    <td valign="top">0</td>
    <td valign="top">0</td>
  </tr>

  <tr>
    <td valign="top">Resource Limit</td>
    <td valign="top">a program resource is exhausted (e.g. not enough memory)</td>
    <td valign="top">300</td>
    <td valign="top">400</td>
    <td valign="top">700</td>
  </tr>

  <tr>
    <td valign="top">Type</td>
    <td valign="top">A font is unavailable; a substitution may have occurred</td>
    <td valign="top">305</td>
    <td valign="top">405</td>
    <td valign="top">705</td>
  </tr>

  <tr>
    <td valign="top">Option</td>
    <td valign="top">a command-line option was malformed</td>
    <td valign="top">310</td>
    <td valign="top">410</td>
    <td valign="top">710</td>
  </tr>

  <tr>
    <td valign="top">Delegate</td>
    <td valign="top">an ImageMagick <i>delegate</i> failed to complete</td>
    <td valign="top">315</td>
    <td valign="top">415</td>
    <td valign="top">715</td>
  </tr>

  <tr>
    <td valign="top">Missing Delegate</td>
    <td valign="top">the image type can not be read or written because the appropriate <i>Delegate</i> is missing</td>
    <td valign="top">320</td>
    <td valign="top">420</td>
    <td valign="top">720</td>
  </tr>

  <tr>
    <td valign="top">Corrupt Image</td>
    <td valign="top">the image file may be corrupt</td>
    <td valign="top">325</td>
    <td valign="top">425</td>
    <td valign="top">725</td>
  </tr>

  <tr>
    <td valign="top">FileOpen</td>
    <td valign="top">the image file could not be opened for reading or writing</td>
    <td valign="top">330</td>
    <td valign="top">430</td>
    <td valign="top">730</td>
  </tr>

  <tr>
    <td valign="top">Blob</td>
    <td valign="top">a binary large object could not be allocated, read, or written</td>
    <td valign="top">335</td>
    <td valign="top">435</td>
    <td valign="top">735</td>
  </tr>

  <tr>
    <td valign="top">Stream</td>
    <td valign="top">there was a problem reading or writing from a stream</td>
    <td valign="top">340</td>
    <td valign="top">440</td>
    <td valign="top">740</td>
  </tr>

  <tr>
    <td valign="top">Cache</td>
    <td valign="top">pixels could not be read or written to the pixel cache</td>
    <td valign="top">345</td>
    <td valign="top">445</td>
    <td valign="top">745</td>
  </tr>

  <tr>
    <td valign="top">Coder</td>
    <td valign="top">there was a problem with an image coder</td>
    <td valign="top">350</td>
    <td valign="top">450</td>
    <td valign="top">750</td>
  </tr>

  <tr>
    <td valign="top">Module</td>
    <td valign="top">there was a problem with an image module</td>
    <td valign="top">355</td>
    <td valign="top">455</td>
    <td valign="top">755</td>
  </tr>

  <tr>
    <td valign="top">Draw</td>
    <td valign="top">a drawing operation failed</td>
    <td valign="top">360</td>
    <td valign="top">460</td>
    <td valign="top">760</td>
  </tr>

  <tr>
    <td valign="top">Image</td>
    <td valign="top">the operation could not complete due to an incompatible image</td>
    <td valign="top">365</td>
    <td valign="top">465</td>
    <td valign="top">765</td>
  </tr>

  <tr>
    <td valign="top">Wand</td>
    <td valign="top">there was a problem specific to the MagickWand API</td>
    <td valign="top">370</td>
    <td valign="top">470</td>
    <td valign="top">770</td>
  </tr>

  <tr>
    <td valign="top">Random</td>
    <td valign="top">there is a problem generating a true or pseudo-random number</td>
    <td valign="top">375</td>
    <td valign="top">475</td>
    <td valign="top">775</td>
  </tr>

  <tr>
    <td valign="top">XServer</td>
    <td valign="top">an X resource is unavailable</td>
    <td valign="top">380</td>
    <td valign="top">480</td>
    <td valign="top">780</td>
  </tr>

  <tr>
    <td valign="top">Monitor</td>
    <td valign="top">there was a problem activating the progress monitor</td>
    <td valign="top">385</td>
    <td valign="top">485</td>
    <td valign="top">785</td>
  </tr>

  <tr>
    <td valign="top">Registry</td>
    <td valign="top">there was a problem getting or setting the registry</td>
    <td valign="top">390</td>
    <td valign="top">490</td>
    <td valign="top">790</td>
  </tr>

  <tr>
    <td valign="top">Configure</td>
    <td valign="top">there was a problem getting a configuration file</td>
    <td valign="top">395</td>
    <td valign="top">495</td>
    <td valign="top">795</td>
  </tr>

  <tr>
    <td valign="top">Policy</td>
    <td valign="top">a policy denies access to a delegate, coder, filter, path, or resource.</td>
    <td valign="top">399</td>
    <td valign="top">499</td>
    <td valign="top">799</td>
  </tr>
  </tbody>
</table>

</div>

</div>

<div id="linkbar">
    <span id="linkbar-west">&nbsp;</span>
    <span id="linkbar-center">
      <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
      <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
    </span>
    <span id="linkbar-east">&nbsp;</span>
  </div>
  <div class="footer">
    <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
    <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
  </div>
  <div style="clear: both; margin: 0; width: 100%; "></div>
  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-17690367-1']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>
</body>
</html>
