diff --git a/modules/seq/base/src/alignment_handle.cc b/modules/seq/base/src/alignment_handle.cc index 47a4fd0dd371747b35761519f15c696751fa3a4a..89e1391c0924c59431be94cb56c39ff7b99aa09a 100644 --- a/modules/seq/base/src/alignment_handle.cc +++ b/modules/seq/base/src/alignment_handle.cc @@ -66,10 +66,14 @@ int AlignmentHandle::GetResidueIndex(int seq_index, int pos) const void AlignmentHandle::AddSequence(const ConstSequenceHandle& sequence) { this->CheckValidity(); - if (!sequence.IsValid() || (impl_->GetCount()>0 && - impl_->GetSequence(0)->GetLength()!=sequence.GetLength())) { + if (!sequence.IsValid()) { throw InvalidSequence(); } + if (!(impl_->GetCount()>0 && + impl_->GetSequence(0)->GetLength()!=sequence.GetLength())) { + throw std::runtime_error("sequence doesn't have the same length as the " + "alignment"); + } return impl_->AddSequence(sequence.Impl()); }