Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Try - fängt nicht alle Fehler

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Try - fängt nicht alle Fehler (859 mal gelesen)
Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 29. Feb. 2012 16:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an Alle,

ich hätte mal ne Frage zu Try. Ich möchte Blöcke über den Handle finden. Der Handle ist als String in einer Excel Tabelle gespeichert.
Das ganze kann leicht zu Fehlern führen, wenn zb. der handle verändert wurde oder der Block inzwischen gelöscht ist. Deshalb setze ich das ganze in einen Try-Block. leider nur mit halbem Erfolg.
Wenn der Handle-String keine hexadez-Zahl ergibt, weil zb. ein "S" enthalten ist, dann bricht das Program ab ohne zu catch zu gehen.
Gibt es ne Möglichkeit, daß jeder Fehler gefangen wird?
Unten der Try-Block. "(zeile(i).Ident)" ist der Handle als String

Danke, Gruß, Theo


Try
                    MyHandle = New Handle(Int64.Parse((zeile(i).Ident), System.Globalization.NumberStyles.HexNumber))
                    MyId = MyDB.GetObjectId(False, MyHandle, 0)
                    myBlockref = acTrans.GetObject(MyId, OpenMode.ForWrite)
                    Attris = myBlockref.AttributeCollection
                    For z = 0 To Attris.Count - 1
                        MyAttri = acTrans.GetObject(Attris(z), OpenMode.ForWrite)
                        MyAttri.TextString = zeile(i).Attri(z)
                        Erfolg = Erfolg + 1
                    Next z
                    Blockerfolg = Blockerfolg + 1
                Catch ex As Exception
                    MsgBox("Der Handle von Zeile " & i + 1 & " wurde nicht gefunden!!")
                End Try

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 05. Mrz. 2012 08:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Theo37 10 Unities + Antwort hilfreich

Hallo Theo,

das hast du richtig bemerkt.
zu lesen gibt's da einigess unter http://msdn.microsoft.com/de-de/library/ms173160(v=vs.80).aspx

Grundsätzlich sollte man aber, so meine Meinung, Programme so aufbauen, dass die Verwendung von try/catch überhaupt nicht notwendig ist. Das führt dann zwar dazu, dass du weit mehr Code benötigst um die zu erwartenden Fehler abzufangen, du kannst aber im Gegenzug den Anwendern deiner Software viel aussagekräftigere Fehlermeldungen anzeigen lassen .. der eigene Support-Aufwand verringert sich gewaltig.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.

    
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz