Can I combine try catch blocks?
<p>I have the following code:</p>

<pre><code>    public IDictionary&lt;string, string&gt; GetNextBase36(string partitionKey, string rowKey, ref string seq)
    {
        Sequence sequence;
        try {
            sequence = _sequenceRepository.Get(u =&gt; u.PartitionKey == partitionKey &amp; u.RowKey == rowKey);
        } catch {
            _errors.Add("", "Database error: Get sequence failed");
        }
        try {
            sequence.Value = Base36.Encode(Base36.Decode(sequence.Value) + 1);
            _sequenceRepository.AddOrUpdate(sequence);
            seq = sequence.Value;
        } catch {
            _errors.Add("", "Database error: Updating sequence failed");
        }
        return _errors;
    }
</code></pre>

<p>It works but it seems overkill to have each database access surrounded by a try catch block. Is there some way I could simplify this? Is there any beter approach?</p>

<p>Updated code based on help / advice:</p>

<pre><code>    public IDictionary&lt;string, string&gt; GetNextBase36(string partitionKey, string rowKey, ref string seq)
    {
        Sequence sequence;
        string catchMsg = string.Empty;
        try {
            catchMsg = "Database error: Get sequence failed"
            sequence = _sequenceRepository.Get(u =&gt; u.PartitionKey == partitionKey &amp; u.RowKey == rowKey);
            sequence.Value = Base36.Encode(Base36.Decode(sequence.Value) + 1);
            catchMsg = "Database error: Updating sequence failed"
            _sequenceRepository.AddOrUpdate(sequence);
            seq = sequence.Value;
        } catch {
            _errors.Add("", catchMsg);
        }
        return _errors;
    }
</code></pre>
