<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Mobile</title><link>https://www.dotnetzone.gr:443/cs/forums/31/ShowForum.aspx</link><description>Θέματα development για SmartPhones, Pocket PC και γενικά φορητές συσκευές με το .NET Compact Framework και τα ASP.NET mobile controls</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: mscorlib.dll exceptions</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34783.aspx</link><pubDate>Thu, 06 Sep 2007 20:06:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34783</guid><dc:creator>Πέτρος Αμοιρίδης</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34783.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=34783</wfw:commentRss><description>Χθες έψαχνα για αυτά τα θέματα και βρήκα κάποια posts από άνθρωπο της ομάδας ανάπτυξης του NETCF. Αυτό που ισχύει είναι πως το ίδιο το runtime πετάει αυτά τα exceptions αλλά τα κάνει και handle, οπότε οι εφαρμογές μας δεν επηρεάζονται παρά μόνο ίσως από ένα πολύ μικρό κόστος που πληρώνουν σε υπολογιστική ισχύ. Από τα λεγόμενα πάντως του developer κατάλαβα ότι προσπαθούν να τα μειώσουν όσο το δυνατόν σε επόμενες εκδόσεις του NETCF, οπότε συμπεραίνω πως δε θέλουν να υπάρχουν.&lt;br&gt;</description></item><item><title>Απ: mscorlib.dll exceptions</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15532.aspx</link><pubDate>Sun, 06 Aug 2006 02:33:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15532</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15532.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=15532</wfw:commentRss><description>Πολλά από αυτά τα exceptions μπορεί να οφείλονται στον τρόπο με τον οποίο δουλεύει το runtime, τον τρόπο με τον οποίο εντοπίζει τα assemblies ή τον τρόπο με τον οποίο κάνει parse τα URL. Χρησιμοποιώ το Composite UI Application Block τον τελευταίο καιρό και έχω συναντήσει πολλές περιπτώσεις στις οποίες αντί ένα function να επιστρέψει false, ρίχνει ένα exception. &lt;br /&gt;
&lt;br /&gt;
Π.χ. το runtime χρησιμοποιεί XML Serializers για τις serializable κλάσεις. Όταν εκτελείται μία εφαρμογή, το runtime ψάχνει να βρει τους serializers στο path της εφαρμογής. Αν δεν τις βρει, τις δημιουργεί επιτόπου. Το περίεργο είναι ότι αυτό γίνεται σηκώνοντας ένα exception! Είχα χάσει σχεδόν 1 μέρα όταν το συνάντησα αυτό πρώτη φορά, προσπαθώντας να καταλάβω γιατί έτρωγα exception με το ξεκίνημα της εφαρμογής! Μετά διαπίστωσα ότι η εφαρμογή δούλευε χωρίς κανένα πρόβλημα. Άλλη παρόμοια περίπτωση, είναι ο κώδικας με τον οποίο το CAB εντοπίζει τα assemblies που χρειάζεται. Αν δεν βρεθεί το assembly σε ένα path σηκώνεται ένα exception και μετά γίνεται η αναζήτηση σε άλλο path.&lt;br /&gt;
&lt;br /&gt;
Ο λόγος που χρησιμοποιούνται αυτές οι τεχνικές είναι ότι με τον τρόπο αυτό απλουστεύεται κατά πολύ ο κώδικας. Για παράδειγμα, αν ο αλγόριθμος αναζήτησης ενός assembly απαιτεί την κλήση πολλών μεθόδων σε μεγάλο βάθος, θα είναι ευκολότερο να σηκώσει κανείς ένα exception το οποίο θα χειριστεί στο ανώτερο επίπεδο του αλγόριθμου, παρά να επιστρέψει μια τιμή false από κάθε μέθοδο. Το ίδιο ισχύει και στην περίπτωση αναδρομικών συναρτήσεων. Όταν μία αναδρομική συνάρτηση έχει κληθεί 5-6 φορές και αποτυγχάνει στο 7ο επίπεδο, ίσως να είναι ευκολότερο να σηκώσει ένα exception παρά να επιστρέψει μια τιμή false σε 7 επίπεδα. Καθώς μάλιστα οι αναδρομικές συναρτήσεις χρησιμοποιούνται συχνά για parsing, υποψιάζομαι ότι από εκεί προέρχονται τα URL exceptions. &lt;br /&gt;
&lt;br /&gt;
Σε τέτοιες περιπτώσεις μάλιστα, ένα exception θα έχει το ίδιο ή μικρότερο υπολογιστικό κόστος με την επιστροφή μίας τιμής false. Το κόστος ενός exception οφείλεται σε μεγάλο βαθμό στο call stack unwinding, στην επιστροφή ουσιαστικά από όλες τις κλήσεις μεθόδων που παρεμβάλλονται μεταξύ του σημείου που εμφανίζεται το exception και του exception handler. Κάτι παρόμοιο όμως θα πρέπει να γίνει και αν προσπαθήσουμε να επιστρέψουμε κάποια τιμή από αλλεπάλληλες κλήσεις μιας αναδρομικής συνάρτησης.&lt;br /&gt;
&lt;br /&gt;
Η τεχνική αυτή είναι πολύ χρήσιμη αλλά θέλει προσοχή, καθώς τα exceptions κοστίζουν. Εξάλλου, η χρήση της μπορεί εύκολα να μπερδέψει όποιον προσπαθεί να διαβάσει τον κώδικα. Από την άλλη, είναι εξαιρετικά χρήσιμη όταν μπορεί να απλοποιήσει τον κώδικα, όταν η πιθανότητα να σηκωθούν τα exceptions είναι μικρή  και όταν το κόστος του αλγόριθμου που υλοποιεί είναι μικρότερο από το κόστος του ίδιου του exception.</description></item><item><title>Απ: mscorlib.dll exceptions</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15527.aspx</link><pubDate>Sun, 06 Aug 2006 02:00:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15527</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15527.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=15527</wfw:commentRss><description>Κι εγώ το έχω συναντήσει.. Κάπου είχα βρει ενα αρθράκι το οποιό έλεγε οτι φταίει το emulation..Θα δω μήπως μπορέσω και το ξεθάψω..</description></item><item><title>mscorlib.dll exceptions</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/15515.aspx</link><pubDate>Sat, 05 Aug 2006 20:31:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:15515</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/15515.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=15515</wfw:commentRss><description>&lt;P&gt;Παρατηρώ ότι σε ένα WM 5 device project όταν το τρέχω (το κάνω delpoy στον emulator), στο Immediate window, παρουσιάζονται πολλά "first chance exception", τύπου ΙΟ.FileNotFoundException, UnauthorizedAccessException και UriFormatException (μάλλον από το web service που κάνω access). Όλα αυτά από το mscorlib.dll &lt;img src="/cs/emoticons/emotion-18.gif" alt="Huh?" /&gt; Η εφαρμογή τρέχει κανονικά, αλλά μου κάνει εντύπωση... Έχει κανείς καμιά ιδέα;&lt;/P&gt;</description></item></channel></rss>