<!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 automagically."/>
  <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, Image, Processing, Automagically"/>
  <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="canonical" href="http://www.imagemagick.org" />
  <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" />
  <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
  <style type="text/css" media="all">
    @import url("../www/magick.css");
  </style>
  <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  <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>
  <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="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: iOS" href="../www/binary-releases.html#iOS">iOS</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" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
</div>
<div  class="sponsor">
  <a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201110010090s jen@seo lowprofilelinks -->
</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 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: 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 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 style="margin: 9pt 9pt 9pt 9pt;">
  <div class="g-plusone" data-size="standard" data-count="false"></div>
</div>
</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>
