diff --git a/modules/cart/commerce_cart.module b/modules/cart/commerce_cart.module
index f3c0445..67bf347 100644
--- a/modules/cart/commerce_cart.module
+++ b/modules/cart/commerce_cart.module
@@ -418,27 +418,39 @@ function commerce_cart_block_view($delta) {
 
   // Prepare the display of the default Shopping Cart block.
   if ($delta == 'cart') {
-    // First check for items in the shopping cart.
-    $order = commerce_cart_order_load($user->uid);
+    try {
+      // First check for items in the shopping cart.
+      $order = commerce_cart_order_load($user->uid);
+
+      // If the cart is empty...
+      if (!$order || empty($order->commerce_line_items)) {
+        // Display an appropriate message.
+        $content = theme('commerce_cart_empty_block');
+      }
+      else {
+        drupal_add_css(drupal_get_path('module', 'commerce_cart') . '/theme/commerce_cart.css');
 
-    // If the cart is empty...
-    if (!$order || empty($order->commerce_line_items)) {
-      // Display an appropriate message.
-      $content = theme('commerce_cart_empty_block');
-    }
-    else {
-      drupal_add_css(drupal_get_path('module', 'commerce_cart') . '/theme/commerce_cart.css');
+        // Build the variables array to send to the cart block template.
+        $variables = array(
+          'order' => $order,
+          'contents_view' => commerce_embed_view('commerce_cart_block', 'defaults', array($order->order_id)),
+        );
 
-      // Build the variables array to send to the cart block template.
-      $variables = array(
-        'order' => $order,
-        'contents_view' => commerce_embed_view('commerce_cart_block', 'defaults', array($order->order_id)),
-      );
+        $content = theme('commerce_cart_block', $variables);
+      }
 
-      $content = theme('commerce_cart_block', $variables);
+      return array('subject' => t('Shopping cart'), 'content' => $content);
     }
+    catch (Exception $exception) {
+      require_once DRUPAL_ROOT . '/includes/errors.inc';
+
+      // Block failed to render, hide it and log the exception.
+      watchdog_exception('block', $exception);
 
-    return array('subject' => t('Shopping cart'), 'content' => $content);
+      if (error_displayable()) {
+        return array('subject' => t('Shopping cart'), 'content' => t('Failed to render block: (%type: !message in %function (line %line of %file)).', _drupal_decode_exception($exception)));
+      }
+    }
   }
 }
 
