<p>I'm not sure about how to find out that exception happened the right way. It seems to me that there is no simple way to check that $@ contains exactly empty string but not something which pretends to be. I am used to check that exception happened by writing "if( $@ ) {...}" ie ckecking for true/false. So my fix proposition may be good for me but not for all cases out there.</p>

<hr>

<h4>You can merge this Pull Request by running</h4>
<pre>  git pull https://github.com/lamoz/dbix-class master</pre>
<p>Or view, comment on, or merge it at:</p>
<p>&nbsp;&nbsp;<a href='https://github.com/dbsrgits/dbix-class/pull/15'>https://github.com/dbsrgits/dbix-class/pull/15</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Add tests and fix for exceptions which stringify to empty string handled by exception_action</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li><strong>M</strong> lib/DBIx/Class/Storage/BlockRunner.pm (4)</li>
  <li><strong>M</strong> t/33exception_wrap.t (13)</li>
  <li><strong>M</strong> t/34exception_action.t (30)</li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/dbsrgits/dbix-class/pull/15.patch'>https://github.com/dbsrgits/dbix-class/pull/15.patch</a></li>
  <li><a href='https://github.com/dbsrgits/dbix-class/pull/15.diff'>https://github.com/dbsrgits/dbix-class/pull/15.diff</a></li>
</ul>