私の経験では、トリガーのtry catchでキャッチされたエラーは、トランザクション全体をロールバックします。保存トランザクションを使用できる場合があります。 「Somemoresql」で何が起こっているのかを見て、エラーを止めるためにcase/ifステートメントを記述できるかどうかを判断する必要があると思います。
実行している内容によっては、トランザクションを保存することで実行できる場合があります。 キャッチでそれをキャプチャします
あなたのコードではこのようなもの
SAVE TRANSACTION BeforeUpdate;
BEGIN TRY
--Some More SQL
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION BeforeUpdate;
return
END CATCH