Zaawansowane techniki programowania C#

Podobne dokumenty
Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Podstawy i języki programowania

Programowanie obiektowe

Programowanie Obiektowe Ćwiczenie 4

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wyjątki (exceptions)

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Język C++ wykład VIII

Strumienie i serializacja

Zaawansowane programowanie w języku C++ Wyjątki

Strumienie, pliki. Sortowanie. Wyjątki.

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Ą ć ć ć ć Ł

Programowanie w Sieci Internet. Python: Operacje z plikami oraz obsługa wyjątków

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Aplikacje w środowisku Java

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Biblioteka standardowa - operacje wejścia/wyjścia

Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746)

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Klasy cd. Struktury Interfejsy Wyjątki

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

Metody dostępu do danych

Strumienie, pliki. Sortowanie. Wyjątki.

Delphi Laboratorium 3

Dzisiejszy wykład. Klasa string. wersja prosta wersja ze zliczaniem odwołań. Wyjątki Specyfikator volatile Semafory

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

Języki programowania imperatywnego

Ż Ą ŁĘ Ą ŁĘ ć ć ć Ż ź

Biblioteki wejścia/wyjścia. Strumienie we/wy (I/O)

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE

Programowanie obiektowe

Podstawy programowania w języku C++

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 6 Dziedziczenie cd., pliki

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Programowanie obiektowe

Języki i metody programowania Java INF302W Wykład 3 (część 1)

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie MorphX Ax

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Modelowanie obiektowe


ź Ś ź

Ł Ś

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Ą Ź Ź Ź Ł ż Ą ż ż

ż Ł Ł Ł Ł

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

System plików warstwa logiczna

ć Ć Ś ć Ć ć ć ć Ć

ć Ś ŚĆ

Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM

PARADYGMATY PROGRAMOWANIA Wykład 4

Java SE Laboratorium nr 4. Temat: Obsługa wyjątków i zdarzeń

Funkcje zawarte w bibliotece < io.h >

Wykład 8: Obsługa Wyjątków

Pliki. Operacje na plikach w Pascalu

Wykład 4: Wejście/wyjście: strumienie Java

Wykład 5 Okna MDI i SDI, dziedziczenie

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

TEMAT : KLASY DZIEDZICZENIE

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Wskaźniki. Informatyka

Systemy liczenia. 333= 3*100+3*10+3*1

Platformy Programistyczne Wykład z Javy dla zaawansowanych

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Dawid Gierszewski Adam Hanasko

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Ł Ł

Funkcje zawarte w bibliotece < io.h >

Wykład PASCAL - Pliki tekstowe

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Materiały do zajęć III

Wejście wyjście strumieniowe

Pracownia Komputerowa wykład V

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Wykład 4. Tablice. Pliki

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie:

Podstawy i języki programowania

Wprowadzenie do projektu QualitySpy

Programowanie obiektowe

Podstawy programowania obiektowego

Diagramy klas. dr Jarosław Skaruz

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Techniki multimedialne

Podstawy programowania

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Zad. 5: Układ równań liniowych liczb zespolonych

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Zaawansowane programowanie w C++ (PCP)

Transkrypt:

Wykład 2 Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 18 października 2017

służą do informowania o niepowodzeniu pewnego elementu programu, dawniej używano tzw. wartości osobliwej (takiej, która czymś się wyróżniała) do informowania, że funkcja się nie powiodła, więc już dawno (w pewnej formie przed 1970 rokiem) wymyślono wyjątki,

w skrócie, w momencie wystąpienia wyjątku, wykonywanie kodu jest przerywane i następuje skok do najbliższego miejsca obsługi wyjątku w jest to najbliższe pasujące catch najbliższe oznacza najbliżej położone w kodzie aktualnej funkcji/metody, jeśli w aktualnie wykonywanej funkcji nie ma catch: to przeszukiwana jest funkcja ją wywołująca, zaczynając od momentu wywołania aktualnej funkcji, jeżeli tam też nie ma to są przeszukiwane kolejne wywołania w górę, aż do najwyższego poziomu jeżeli nic (pasujące catch) nie zostanie znalezione, to komunikat jest wyświetlany (w uproszczeniu, bo to zależy jeszcze w jaki sposób uruchomiliśmy program).

- podstawowa składnia Try { // kod programu // obsługa sytuacji wyjątkowych, // catch (0.. n) albo finally

- wszystkich wyjątków Try { // kod programu catch { // obsługa

- konkretnych wyjątków - konkretnych wyjątków (dostajemy obiekt wyjątku) Try { // kod programu catch ( System. N u l l R e f e r e n c e E x c e p t i o n e ) { // obs ł uga ( można korzysta ć z obiektu e catch ( System. E x c e p t i o n e ) { // pozosta łe wyjątki

- konkretnych wyjątków - konkretnych wyjątków (dostajemy obiekt wyjątku) Try { // kod programu catch ( System. N u l l R e f e r e n c e E x c e p t i o n e ) { // obs ł uga ( można korzysta ć z obiektu e catch ( System. E x c e p t i o n e ) { // pozosta łe wyjątki finally { // to co musi się wykona ć zawsze

- Przekazanie wyjątku dalej Przekazanie wyjątku dalej (ale kod w sekcji finally się wykona): Try { // kod programu finally { // to co musi się wykona ć zawsze

- Przekazanie wyjątku dalej Przekazanie wyjątku dalej przez jego rzucenie (rethrow): Try { // kod programu catch ( System. E x c e p t i o n e ) { // jakiś kod throw e ;

- Przekazanie wyjątku dalej Przekazanie wyjątku dalej przez jego rzucenie (rethrow): Try { // kod programu catch { throw ;

- Przekazanie wyjątku dalej Przekazanie wyjątku dalej przez jego obudowanie w nowy obiekt: Try { // kod programu catch ( N u l l R e f e r e n c e E x c e p t i o n e ) { throw new N u l l R e f e r e n c e E x c e p t i o n ( "Obiekt A nie jest ustawiony ", e ) ;

- Rzucenie wyjątku Rzucenie wyjątku: // kod programu dotycz ący m. in. warto ści a i param if ( a==null ) { throw new N u l l R e f e r e n c e E x c e p t i o n ( "Obiekt a nie jest ustawiony ", param ) ;

- (oparte na dziedziczeniu): public class OwnException : System. A p p l i c a t i o n E x c e p t i o n { // dodatkowe elementy //( np. informacje o obiekcie będą cym przyczyn ą wyj ą tku public OwnException (... j a k i e ś parametry..., string S ) : base ( S ) { // operacje wykorzystuj ące parametry

- problemy Wyjątków trzeba się spodziewać, a...... Nikt nie spodziewa się hiszpańskiej inkwizycji.

- problemy Wyjątków trzeba się spodziewać, a...... Nikt nie spodziewa się hiszpańskiej inkwizycji.

- problemy Dużo programistów używa wyjątków do naprawiania problemów. często ignorowane jest informowanie użytkownika, a można (a w zasadzie trzeba) to zrobić na 2 sposoby: poprzez wyświetlenie użytkownikowi informacji w bardziej czytelnej formie niż komunikat wyjątku, zapisanie informacji w pewnym miejscu (np. do logu programu).

- Stream - Abstrakcyjna klasa bazowa Stream umożliwia odczyt i zapis bajtów. FileStream - dokłada do podstawowego zachowania Stream, swobodny dostęp do plików poprzez metodę. Wspiera także operacje synchroniczne i asynchroniczne. MemoryStream - Niebuforowany strumień którego dane (kapsułkowane przez niego) są dostępne bezpośrednio w pamięci. Używany jako tymczasowy bufor.

- BufferedStream - Rodzaj strumienia który dokłada buforowanie do innego strumienia, na przykład NetworkStream. (FileStream ma wbudowane buforowanie, a MemoryStream nie potrzebuje.) Obiekt BufferedStream może wspierać niektóre typy strumieni dla poprawienia wydajności odczytu i zapisu. TextReader - Abstrakcyjna klasa bazowa dla klas: StreamReader, StringReader. Klasa (abstrakcyjna) Stream jest przeznaczona do odczytu i zapisu bajtów, natomiast implementacja TextReader jest zaprojektowana do odczytu znaków Unicode.

- StreamReader Odczytuje znaki ze strumienia (Stream), przy użyciu wybranego kodowania (Encoding) w celu konwersji znaków z i do bajtów. StringReader odczytuje znaki z obiektu typu String. Dzięki StringReader możliwe jest potraktowanie łańcucha znaków tak jak strumienia.

- TextWriter - Klasa bazowa (abstrakcyjna) dla klas: StreamWriter, StringWriter. Klasa (abstrakcyjna) Stream jest przeznaczona do odczytu i zapisu bajtów, natomiast implementacja TextWriter jest zaprojektowana do zapisu znaków Unicode. StreamWriter - Zapisuje znaki do strumienia (Stream), przy użyciu wybranego kodowania (Encoding) w celu konwersji znaków do bajtów. Dzięki StringWriter możliwe jest potraktowanie łańcucha znaków tak jak strumienia. BinaryReader Odczytuje binarne dane ze strumienia. BinaryWriter - Zapisuje binarne dane do strumienia.

-.Directory przestrzeń nazw do obsługi operacji związanych ze strukturą katalogową plików (pobranie listy plików, dodanie i usunięcie katalogu, itd.).path klasa do obsługi operacji na ścieżkach do plików (pobranie samej nazwy, samego rozszerzenia, itd.)

- FileIOPermission. W przykładzie poniżej obiekt f2 opisuje uprawnienia do odczytu C:\testR.txt a później również może opisywać uprawnienia do odczytu i zapisu do pliku C:\testRW.txt. F i l e I O P e r m i s s i o n f 2 = new F i l e I O P e r m i s s i o n ( F i l e I O P e r m i s s i o n A c c e s s. Read, "C:\\ testr.txt" ) ; f 2. AddPathList ( F i l e I O P e r m i s s i o n A c c e s s. Write F i l e I O P e r m i s s i o n A c c e s s. Read, "C:\\ testrw.txt" ) ;