From c3829e6e2aa2c9aef8a919cf90e7f40ba1128f57 Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Thu, 4 Aug 2022 09:54:16 +0200 Subject: [PATCH] More descriptive error in io.LoadSequenceList() The reason are potentially huge fasta files for which debugging is super hard when you're just told: something is wrong... --- modules/io/src/seq/fasta_io_handler.cc | 2 +- modules/seq/base/src/invalid_sequence.hh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/io/src/seq/fasta_io_handler.cc b/modules/io/src/seq/fasta_io_handler.cc index c15f6debb..48e7d474d 100644 --- a/modules/io/src/seq/fasta_io_handler.cc +++ b/modules/io/src/seq/fasta_io_handler.cc @@ -111,7 +111,7 @@ void FastaIOHandler::Import(seq::SequenceList& aln, aln.AddSequence(seq); seq_count+=1; } catch (seq::InvalidSequence& e) { - throw e; + throw seq::InvalidSequence("Failed for sequence with name " + name + ": " + e.what()); } } else { throw IOException("Bad FASTA file: Sequence is empty."); diff --git a/modules/seq/base/src/invalid_sequence.hh b/modules/seq/base/src/invalid_sequence.hh index b7162169f..7e1795cfb 100644 --- a/modules/seq/base/src/invalid_sequence.hh +++ b/modules/seq/base/src/invalid_sequence.hh @@ -31,6 +31,9 @@ public: InvalidSequence() : Error("Sequence String contains illegal characters. Must " "be one of [A-Za-z?-].") { } + + InvalidSequence(const String& custom_msg) + : Error(custom_msg) {} }; class DLLEXPORT InvalidAlignment : public Error { -- GitLab