I had a problem with error messages displaying a blog which had been suspended on a WordPress multisite network. My solution was to create a blog-deleted.php file which I added to the wp-content directory. This file is then loaded automatically whenever a deleted or suspended blog is visited. Instead of putting in a bunch of complex code, I just set it to redirect to a specific page on my primary site. This lets me easily add information about why a blog may or may not be suspended without having to muck around in code every time. You could alternatively just redirect everything back to the home page of the main site if you didn’t require the user to see an error message.

blog-deleted.php

<php
wp_redirect( network_home_url() . '/suspended/', 302 );
exit;