![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Senior Member
![]() Registriert seit: 03.09.2001
Alter: 41
Beiträge: 165
|
![]() Hi!
Eigentlich programmier ich hauptsächlich in JAVA, wo ja bei der definition einer klasse bzw. Methode angegeben wird welche exceptions geworfen werden. Nun in der Arbeit programmier ich aba in VB.Net und möchte herausfinden, welche funktionen/klassen welche exceptions werfen. Kann mir jemand sagen wie ich das herausfind? Danke schon im Voraus, aja und ich arbeit mit MS VisualStudio 2003
____________________________________
There are 10 types of people, those who understand binary and those who don\'t... Ask Me No Questions, And I Tell You No Lies! |
![]() |
![]() |
![]() |
#2 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi,
in .net gibt es - im vergleich zu java - keine sogenannten "checked exceptions" - siehe z.B.: http://www.25hoursaday.com/CsharpVsJava.html#checked es wird daher nie angegeben, welche exception geworfen wird - auch in java können ja aber auch andere exceptions auftreten, als die angegebenen. Was ist der sinn dahinter, herauszufinden, welche exceptions geworfen werden können? wenn du eine bestimmte exception explizit behandeln willst, musst du einen catch-block dafür vorsehen. z.B. catch (TypeCastExecption ex) alle Exceptions werden gefangen durch: catch (Exception ex) -> muss am schluss stehen. eigene exceptions sollten von "ApplicationException" abgeleitet werden. Explizit herauszufinden, welche Exceptions geworfen werden können macht imho. keinen Sinn - das führt ja auch irgendwie das Konzept der Exceptions ad absurdum. das machst du ja auch in java nicht - da legst du ja fest, um welche exceptions sich deine klasse kümmert - nicht, welche geworfen werden können. fg -hannes |
![]() |
![]() |
![]() |
#3 | |
Senior Member
![]() Registriert seit: 03.09.2001
Alter: 41
Beiträge: 165
|
![]() ...ich glaub ich habe meine frage eigentlich nicht wirklich sauber formuliert, denn mir ist nachträglich bewusst geworden, dass ich nicht wirklich wissen müsste, wodurch die exception ausgelöst, sondern warum sie ausgelöst wird. Diese Informationen findet man in der MSDN...
![]() Noch ein paar worte zu exceptions... Zitat:
Code:
try { .... } catch(Exception e) { throw new IllegalArgumentException() } aba ich gebe dir recht wenn du sagst, dass es nicht sehr viel sinn macht alle möglichen exception die eine klasse od eine ihrer methoden werfen könnte, zu kennen, ich dachte nur ganz automatisch, dass es sich bei jener art von exception in meinem programme um eine ganz bestimmte handeln muss, da ich diese eben nicht kannte (das wiederum rührt daher dass ich nun mal hauptsächlich java programmiere und dort doch einige exception kenne) ![]() danke für deine antwort!
____________________________________
There are 10 types of people, those who understand binary and those who don\'t... Ask Me No Questions, And I Tell You No Lies! |
|
![]() |
![]() |
![]() |
#4 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi,
keine ursache - ich programmiere eigentlich sehr wenig bis fast garnix in java, bin daher sicher nicht der spezialist. ![]() ad wodurch die exception ausgelöst wird: eine excetion ist ja wie alles andere auch eine klasse und beinhaltet eine variable, die auf den stack verweist - daraus ist ersichtlich, was passiert ist, bevor die exception aufgetreten ist. (sog. StackTrace) ...k.a. ob das für dich brauchbar ist. .net verwendet übrigens auch intern einen sogenannten stackwalk, um die rechte eines assemblies zu prüfen. auch sehr interessant für anwendungsentwicklung unter .net ist die microsoft enterprise library - stellt viele immer wieder benötigte funktionen (konfiguration, MVC-modell, db-zugriff, Exception Handling(!) in wiederverwendbaren blöcken zusammen + ist kostenlos. fg -hannes |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|