+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Ausnahmen statt Rückgabewerte

net
(combit Team) #1
Gilt ab List & Label 8
Fehlercodes werden bei List & Label über negative Rückgabewerte geregelt. Nicht so bei der .NET Komponente, denn hier werden ganz im .NETten Stil Ausnahmen ("Exceptions") verwendet.

Durch diese Änderung können Sie einerseits das komfortable .NET Fehlermanagement in der gewohnten Weise benutzen und müssen andererseits die Rückgabewerte der einzelnen Methoden nicht mehr individuell auswerten. Dieser Umstand hat eine Reihe von Vereinfachungen bei deren Aufrufen ermöglicht. Intuitive Methodenaufrufe...

Beispiel in C#

Der nachfolgende Sourcecode zeigt die Verwendung von List & Label Ausnahmen für den Designer-Aufruf. Klappt etwas nicht, wird dem Benutzer eine informative MessageBox angezeigt.

// Button "Designer"
protected void button1_Click (object sender, System.EventArgs e)
{
  try
  {
    // Init Data Reader
    InitDataReader();

    // Start Designer
    LL.Design(0, this.Handle, "Sample", LlProject.Label | LlProject.FileAlsoNew, "simple.lbl", true);
  }
  catch (Exception LlException)
  {
    // Catch Exceptions
    MessageBox.Show("Information: " + LlException.Message + "\n\nThis information was generated by a List & Label custom exception.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
  }
}

Beispiel in VB.NET

Das gleiche Beispiel sieht in VB.NET so aus:

'Button "Designer"
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click

Try

  ' Init Data Reader
  InitDataReader()

  ' Start Designer
  LL.Design(0, Me.Handle, "Sample", LlProject.Label Or LlProject.FileAlsoNew, "simple.lbl", True)

  Catch LlException As Exception

  ' Catch Exceptions
  MessageBox.Show("Information: " + LlException.Message + "\n\nThis information was generated by a List & Label custom exception.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Try

End Sub

Individuelle Behandlung von Ausnahmen

Da für die verschiedenen Fehlerquellen unterschiedliche Ausnahmen zur Verfügung stehen, können Sie bereits im try..catch[..finally]-Block entscheiden, wie auf welche Fehler reagiert werden soll. Bei folgendem Konstrukt wird ein Benutzerabbruch beispielsweise komplett ignoriert, andere Ausnahmen werden dem Benutzer hingegen angezeigt.

try
{
	// Implementation
}
catch (LL_User_Aborted_Exception e)
{
	// Ignore user abort
}
catch (Exception e)
{
	// Catch Exceptions
	MessageBox.Show("Information: " + LlException.Message + "\n\nThis information was generated by a List & Label custom exception.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}


Hinweis: Sie benötigen min. die .NET Komponente (ListLabel8.dll) Version 8 ab 8.0.8.*.

IDKBTD000509 KBTD000509