[ Pobierz całość w formacie PDF ]
.out.println("**Przetwarzanie ostrzeżenia**\n" +" Wiersz: " +exception.getLineNumber() + "\n" +" URI: " +exception.getSystemId() + "\n" +C:\WINDOWS\Pulpit\Szymon\Java i XML\03-08.doc  strona 79 80 Rozdział 3.Przetwarzanie kodu XML" Komunikat: " +exception.getMessage());throw new SAXException("Napotkano ostrzeżenie");}Błędy niekrytyczneBłędy występujące w czasie przetwarzania, które można naprawić, ale które stanowią pogwałceniefragmentu specyfikacji XML, postrzegane są jako błędy niekrytyczne.Procedura obsługi błędówpowinna je przynajmniej odnotować w pliku dziennika, bo zazwyczaj są na tyle poważne, że za-sługują na zwrócenie uwagi użytkownika lub administratora aplikacji; jednak nie są aż tak istotne,by przerwać jej działanie.Tak jak w przypadku ostrzeżeń, większość błędów niekrytycznychzwiązanych jest z poprawnością dokumentu, która zostanie omówiona w odpowiednich rozdzia-łach.Podobnie jak w przypadku ostrzeżeń, nasza prosta procedura obsługi błędów wyświetli infor-macje przesłane do wywołania wstecznego i zakończy proces przetwarzania:/**** Tutaj komunikujemy o błędzie, jeśli taki się pojawi; błąd oznacza, że* złamano regułę i zazwyczaj pojawia się w czasie sprawdzania składni;* przetwarzanie może jeszcze być kontynuowane.*** @param exception SAXParseException -- wyjątek, którynastąpił.* @throws SAXException jeśli coś pójdzie nie tak.*/public void error(SAXParseException exception)throws SAXException {System.out.println("**Przetwarzanie błędu**\n" +" Wiersz: " +exception.getLineNumber() + "\n" +" URI: " +exception.getSystemId() + "\n" +" Komunikat: " +exception.getMessage());throw new SAXException("Napotkano błąd");}Błędy krytyczneBłędy krytyczne to te, które wymuszają zatrzymanie działania parsera.Zazwyczaj wynikają z niepo-prawnego sformatowania dokumentu i ich pojawienie się oznacza, że albo dalsze przetwarzanie nie masensu, albo jest technicznie niemożliwe.Procedura obsługi błędu powinna niemal zawsze poinformo-wać użytkownika lub administratora o wystąpieniu takiego błędu; pozostawienie aplikacji samej sobiemoże grozić całkowitym jej zawieszeniem.W naszym przykładzie będziemy emulowali zachowaniedwóch pozostałych metod i zatrzymamy przetwarzanie, wyświetlając komunikat o błędzie na ekranie:/**** Tutaj komunikujemy, że nastąpił błąd krytyczny; oznacza to, że* złamano regułę w ten sposób, że dalsze przetwarzanie* nie jest możliwe albo jest bezcelowe.**C:\WINDOWS\Pulpit\Szymon\Java i XML\03-08.doc  strona 80 Procedury obsługi błędów 81* @param exception SAXParseException -- wyjątek, którynastąpił.* @throws SAXException jeśli coś pójdzie nie tak.*/public void fatalError(SAXParseException exception)throws SAXException {System.out.println("**Przetwarzanie błędu krytycznego**\n" +" Wiersz: " +exception.getLineNumber() + "\n" +" URI: " +exception.getSystemId() + "\n" +" Komunikat: " +exception.getMessage());throw new SAXException("Napotkano błąd krytyczny");}Po zakodowaniu procedury obsługi tego trzeciego typu błędu powinno być możliwe przekompilo-wanie pliku zródłowego i powtórne uruchomienie go na naszym dokumencie XML.Uzyskanywynik nie powinien różnić się od poprzedniego, bo dokument XML nie zawiera błędów, o którychaplikacja mogłaby poinformować.W kolejnych podrozdziałach zostaną omówione błędy w doku-mentach XML, w których nie jest wykonywane sprawdzanie poprawności.Rozbijanie danychSkoro posiadamy już procedury obsługi błędów, to warto zobaczyć, jak one działają.Jak już to by-ło wspomniane, większość ostrzeżeń i błędów niekrytycznych związanych jest z poprawnościąskładni dokumentu  zagadnienia te zostaną omówione w kilku następnych rozdziałach.Jest je-dnak jeden błąd niekrytyczny, który pojawia się w dokumentach XML nie sprawdzonych podwzględem poprawności.Chodzi tutaj o wersję języka XML zgłaszaną przez dokument [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • agnieszka90.opx.pl