Da die Routine aber direkt in der Ereignisprozedur der Schaltfläche implementiert ist, was auch ungeschickt ist, bleibt an der Stelle nichts anderes übrig, da es keinen übergeordneten Code gibt.
Ein simples Raise löst die
Exception neu aus.
Diese wird von der
VCL auf oberster Ebene abgefangen und über
Application.ShowException
angezeigt.
Dieses Standardverhalten macht "im Prinzip" genau das Gleiche wie MessageDlg: es zeigt die Fehlermeldung in einem modalen Fenster an.
Aber ein raise macht noch etwas mehr: es unterbricht den Programmfluss und gibt die Kontrolle an die Windows-Message-Loop zurück.
Dieses Verhalten ist hier ebenfalls erwünscht, denn welchen Sinn macht es wenn der Download des Updates gescheitert ist das Programm weiterlaufen zu lassen?