In Exception behandeln Maximum, wie oft wir verschachtelte try-catch in C# Antwort nicht finden?In Exception behandeln, wie oft wir verschachtelte try-catch in C#
Antwort
In meinem Verständnis (keine Beweise, nur Gedanken) ist es nicht darauf beschränkt. Ich habe nicht gesagt unbegrenzt, aber was gibt es keine MaxNesting
Eigenschaft oder Konstante irgendwo.
try/catch/finally
ist eine C#
Konstruktion in IL zusammengestellt. Die Frage ist im Grunde gleich
wie tief [insert Schlüsselwort] sein kann nisten
ZB: switch
, if
, foreach
usw.
Haben Sie schon einmal über maximale Verschachtelung von denen gehört, ? Ich denke nicht.
Es kann nur eine try/catch
in der rekursiven Methode geben, die sich selbst in try
aufruft. Hat try
irgendwelche Einschränkungen für sich? Ja, da diese offensichtlich mehr Speicher benötigen, um die Adresse catch
irgendwo zu halten. Kannst du die Nummer sagen? Nein, es hängt vom verfügbaren Speicher ab.
Kann aber ich bin für perfekte Antwort .. –
Lassen Sie uns warten auf eine;) – Sinatr
Es kann keine Grenze geben, wenn Sie die sorgfältig lesen, die besagt, dass ein try
Block geschützten Code umgibt, der möglicherweise eine Ausnahme auslöst. Gleiches gilt für den Block catch
, der den Code umgibt, der ausgeführt wird, wenn eine Ausnahme auftritt, und der finally
-Block.
Als try-catch-finally
Block selbst per Definition ist ein Codeblock, diese Definition ist rekursiv, so dass jeder try
Block kann einen try-catch-finally
Block umgibt, jeder catch
und finally
blockieren kann, zu.
Die einzigen Grenzen sind Lesbarkeit und Gedächtnis.
aber wir sollten das wissen.
Warum? Welchen Vorteil haben Sie von diesen Informationen oder erwarten Sie? Ich bin sehr viel mit dem was @HansPassant in den Kommentaren gesagt hat ...
Übrigens: Nichts hält dich davon ab, eine kleine Testanwendung zu schreiben, die eine C# -Datei mit einer gegebenen maximalen Anzahl von Verschachtelungsebenen erzeugt, die du dann versuche zu kompilieren. Wenn Sie ein Maximum finden, schauen Sie sich die Quelldatei an und fragen Sie sich, ob diese noch lesbar ist.
Können Sie mir helfen, wie Sie oben Situation in Exception Handling behandeln. Kann die Art sein, die ich gewählt habe, ist falsch .. –
Nun, der Code, den Sie in den Kommentaren zur Verfügung gestellt, sagt nicht viel über das, was Sie eigentlich * tun *. Es zeigt nur, dass Sie andere 'try-catch' Blöcke im' catch' Block haben. Vielleicht, wenn Sie Ihre Frage erweitern, um ein Beispiel zu zeigen, was Sie tun, erhalten Sie Vorschläge, wie Sie es verbessern können. –
@RohitMane Wurde dies in einem Interview gefragt? Ich hatte dumme Interviewer, die mich das fragen und mich sofort verärgern. Wenn es nicht eine Grenze von 5-6 Catch-Blöcken gab, wird es im wirklichen Leben nie ins Bild kommen. Aber immer noch stellen dumme Interviewer solche Fragen sehr oft. – jitendragarg
- 1. Wie man richtig behandeln Task-Exception
- 2. Complex tryCatch in Schleife-R
- 3. Verschachtelte Funktion in C
- 4. Wie verschachtelte API-Anrufe in Fluss zu behandeln sind
- 5. tryCatch und ggplot
- 6. können wir Exception zu einer bestimmten Methode C# werfen?
- 7. Mit Gson elegant verschachtelte JSON-Objekte behandeln?
- 8. Wie oft sollte ich versuchen und fangen in C#?
- 9. Exception geworfen Fehler in c
- 10. Wie behandeln C# -Klassen Dollarzeichen in JSON?
- 11. C++: Exception Exception seltsames Verhalten?
- 12. Verschachtelte Vererbung in C++
- 13. Sollten wir verschachtelte Göroutinen machen?
- 14. tryCatch unterdrücken Fehlermeldung
- 15. Wie verschachtelte Strukturen in C++ initialisiert werden?
- 16. Wie verschachtelte XML-Knoten in C#
- 17. Wie kompilieren wir Kernel-Code in C?
- 18. Finden Sie, wie oft wir in der elastischen Suche ein Wort in einer Reihe haben
- 19. Finden Sie, wie oft wir in der elastischen Suche ein Zeichen in einer Reihe haben
- 20. Wie wiederhole ich eine Zeichenfolge in C++ beliebig oft?
- 21. Wie oft wurde das Programm ausgeführt? C#
- 22. Verschachtelte Klassen Fehler in C++
- 23. Exception Handling in Boost.Asio
- 24. R TryCatch mit testthat Erwartung
- 25. Exception Handler nicht in C genannt
- 26. TryCatch in R: ein nicht-numerische Vektor Handhabung
- 27. Wir behandeln Schnittstellen und Implementierungen, wie wir Inhalte und Stile behandeln, also warum nicht so ähnlich umgehen?
- 28. SQL Exception Unhanded Code in ASp.net C#
- 29. Brauchen wir Fixpunktkombinatoren in C#?
- 30. Wie können wir nicht erfasste Ausnahmen in CLI/Worker Spring Boot-Anwendungen behandeln?
Ist das eine akademische Frage? Nur neugierig, was für Sie diese Informationen brauchen. Ich denke, der Compiler wird sich nicht über 10 verschachtelte 'try/catch' Blöcke beschweren, aber sicherlich wird jeder den Code lesen. –
http://stackoverflow.com/questions/13239972/how-do-you-implement-a-re-try-catch möglicherweise Sie sind auf der Suche nach diesem –
Dies ist keine akademische Frage? aber das sollten wir wissen. Jemand hat mir diese Frage gestellt. –