has_term if/echo else/echo function

Problem is that you’d need to pass a $post->ID in order to not return false.

Better use is_object_in_taxonomy($object_type, $taxonomy) and fill both the term and the tax in the function. It returns (boolean), so simply add your class based on the result:

echo $class = is_object_in_taxonomy( 'news', 'your_taxonomy' ) ? 'current-whatever' : '';

// or: (simplified for readabilities sake:

// set empty and override only in case.
// So you avoid dropping errors if the condition was not met and $current not set.
$class="";
if ( is_object_in_taxonomy( 'news', 'your_taxonomy' ) )
    echo $class="current-whatever";