'Does not raise'

def _parse_vbr_header(self, fileobj, frame_offset, frame_size):

    xing_offset = XingHeader.get_offset(self)
    fileobj.seek((frame_offset + xing_offset), 0)
    try:
        xing = XingHeader(fileobj)
    except XingHeaderError:
        pass
    else:
        lame = xing.lame_header
        self.sketchy = False
        self.bitrate_mode = _guess_xing_bitrate_mode(xing)
        self.encoder_settings = xing.get_encoder_settings()
        if (xing.frames != (-1)):
            samples = (frame_size * xing.frames)
            if (lame is not None):
                samples -= lame.encoder_delay_start
                samples -= lame.encoder_padding_end
            if (samples < 0):
                samples = 0
            self.length = (float(samples) / self.sample_rate)
            if ((xing.bytes != (-1)) and self.length):
                self.bitrate = int(((xing.bytes * 8) / self.length))
        if xing.lame_version_desc:
            self.encoder_info = (u'LAME    %s' % xing.lame_version_desc)
        if (lame is not None):
            self.track_gain = lame.track_gain_adjustment
            self.track_peak = lame.track_peak
            self.album_gain = lame.album_gain_adjustment
        return
    vbri_offset = VBRIHeader.get_offset(self)
    fileobj.seek((frame_offset + vbri_offset), 0)
    try:
        vbri = VBRIHeader(fileobj)
    except VBRIHeaderError:
        pass
    else:
        self.bitrate_mode = BitrateMode.VBR
        self.encoder_info = u'FhG'
        self.sketchy = False
        self.length = (float((frame_size * vbri.frames)) / self.sample_rate)
        if self.length:
            self.bitrate = int(((vbri.bytes * 8) / self.length))
