The WordPress Global
You should try this:
function redirect_private_content() {
global $wp_query, $wpdb;
if ( is_404() ) {
$current_query = $wpdb->get_row($wp_query->request);
if( 'private' == $current_query->post_status ) {
wp_redirect( home_url("https://wordpress.stackexchange.com/") );
exit;
}
}
}
add_action( 'template_redirect', 'redirect_private_content', 9 );