JavaScript podrska u radu sa greskama

Similar documents
Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

Podešavanje za eduroam ios

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

Uvod u relacione baze podataka

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

SAS On Demand. Video: Upute za registraciju:

BENCHMARKING HOSTELA

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Bušilice nove generacije. ImpactDrill

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Nejednakosti s faktorijelima

PROJEKTNI PRORAČUN 1

CRNA GORA

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

Port Community System

1. Instalacija programske podrške

STRUČNA PRAKSA B-PRO TEMA 13

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

Windows Easy Transfer

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

Testiranje koda - JUnit. Bojan Tomić

Upute za korištenje makronaredbi gml2dwg i gml2dgn

VBA moduli. mr Milovan Milivojević dipl. ing. Visa Poslovno Tehnička Škola - Užice

Dežurni nastavnik: Ispit traje 3 sata, prvih sat vremena nije dozvoljeno napuštanje ispita. Upotreba literature nije dozvoljena.

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

Donosnost zavarovanj v omejeni izdaji

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Posmatrani i objekti posmatraci

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

Otpremanje video snimka na YouTube

Specification Details: Coded Dash Number M28803/1 -MC PART LISTINGS MANUFACTURER'S DESIGNATION OR TYPE NUMBER TEST OR QUALIFICATION REFERENCE

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

24th International FIG Congress

Datoteke. Skladišta podataka. Organizacija podataka na sekundarnim skladištima

n1 C82561EC215A6E31807CEEDF3B3BD25E

Upravljanje datotekama i direktorijumima

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

Struktura i organizacija baza podataka

G/TIMS. Flight Record Overview (USAF) Flight Record Application Overview. Accessing Flight Records

KABUPLAST, AGROPLAST, AGROSIL 2500

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

LS-Data. Manual. Altenrhein Luftfahrt GmbH Office Park 3 Top 312 / Postfach 90 A-1300 Wien Flughafen

DZM Aplikacija za servise

Tutorijal za Štefice za upload slika na forum.

Klasterizacija. NIKOLA MILIKIĆ URL:

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu

1.7 Predstavljanje negativnih brojeva u binarnom sistemu

Halina, Hesus. (Advent) œ N œ œ œ. œ œ œ œ œ. œ. œ œ œ œ. œ œ. C F G7sus4. œ. # œ œ J œ œ œ J. œ œ. J œ. # œ. # œ œ œ

CAME-LISTA USKLAĐENOSTI SA PART M CAME-PART M COMPLIANCE LIST

MikroC biblioteka za PDU format SMS poruke

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija

Mogudnosti za prilagođavanje

PublicVue TM Flight Tracking System. Quick-Start Guide

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Priprema podataka. NIKOLA MILIKIĆ URL:

FAKULTET ZA POSLOVNU INFORMATIKU

Prvi koraci u razvoju bankarskog on-line sistema u Japanu napravljeni su sredinom 60-tih godina prošlog veka i to najpre za on-line, real-time obradu

Slika broj 1. Primer dijagrama sekvenci

3D GRAFIKA I ANIMACIJA

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA


3. Pregled sistema Unix

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

Uputstva za upotrebu štampača CITIZEN S310II

Symbology comparison of Two-dimensional Symbologies with focus on EDI messages on transport labels

ЗАВРШНИ (BACHELOR) РАД

СТРУКТУРА СТАНДАРДА СИСТЕМАМЕНАЏМЕНТАКВАЛИТЕТОМ

RANI BOOKING TURSKA LJETO 2017

What Is AWS Icebreaker?

Programiranje kroz aplikacije. Subprocedure Opseg promenljivih Excel VBA objektni model

Digital Resources for Aegean languages

DEFINISANJE TURISTIČKE TRAŽNJE

Press clipping: World Tobacco Growers Day Macedonia

ЗАВРШНИ (BACHELOR)РАД

mdita Editor - Korisničko uputstvo -

Izveštaj o bugu (defektu)

- Italy. UNIVERZALNA STANICA ZA ZAVARIVANJE, SPOTER - sa pneumatskim pištoljem sa kontrolnom jedinicom TE95-10 KVA - šifra 3450

THE PERFORMANCE OF THE SERBIAN HOTEL INDUSTRY

INTEGRACIJA DODATNIH MOGUĆNOSTI U PROGRAMSKI SUSTAV MARKER

SISTEMI ZA UPRAVLJANJE SADRŽAJEM

Asinhronizam: pojmovi sada i kasnije

Setup and Configure the Siteminder Policy Store with Dxmanager

ЗАВРШНИ (BACHELOR) РАД

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

En-route procedures VFR

Time to work on elaboration... talk-abouts

EMC Unisphere 360 for VMAX

Transcription:

JavaScript podrska u radu sa greskama Svaki od pregledaca ima svoj podrazumevani naci reagovanja na greske, Firefox i Chrome upisuju greske u log datoteku, dok recimo Internet Explorer i Opera generisu obavestenja za korisnika. Zbog udobnosti rada korisnika potrebni su nam mehanizmi koji bi omogucili rukovanje greskama (pracenje njihovog pojavljivanja i reagovanje na njih) kao vid prevencije reagovanja pregledaca. Greske se mogu obradjivati u okviru try-catch bloka: ovakve greske pregledaci smatraju primecenim pa ne reaguju na njih. try{ catch(error){ Tipovi gresaka koji mogu da se jave: Error osnovni tip greske (svi drugi tipovi ga nasledjuju) ima svojstvo message sa opisom greske i svojstvo name kojim se odredjuje tip greske pregledaci interno obogacuju ovaj objekat pa Firefox ima i svojstva filename sa imenom datoteke u kojoj se javila greska, linenumber koji sadrzi broj linije greske i stack koji sadrzi stack trace. EvalError greska koja se generise u radu sa eval() funkcijom eval() - funkcija izvrsava JavaScript kod zapisan u vidu niske i prosledjen kao argument eval( var a, b,c; a=5; b=10; c=a+b ); eval() funkciju treba koristiti uz oprez ukoliko postoji mogucnost da njen argument postane maliciozni kod koji moze da ugrozi podatke i aplikaciju uz sve to, eval() se nesto sporije izvrsava jer eskplicitno poziva JS interpreter RangeError greska koja se generise kada vrednost koja se navodi nije u skupu ili opsegu dozvoljenih vrednosti a=new Array(-20) ReferenceError javlja se u slucajevim kada se referise na nepostojecu promenljivu a=x; //dok x ne postoji SyntaxError obicno se javlja kada se prosledi sintaksno neispravan kod funkciji eval(); u svim ostalim slucajevima sintaksne greske automatski prekidaju izvrsavanje JavaScript koda TypeError tip greske koji se najcesce javlja i to kada je promenljiva neodgovarajuceg tipa ili kada se pokusava sa pristupom metodi koja ne postoji.

URIError greska koja se javlja kao posledica koriscenja funkcija encodeuri() i decodeuri() na URI argumentima koji su pogresnog formata encodeuri() - funkcija koja vrsi samo kodiranje URI-ja kodiraju se svi specijalni karakteri (%HH) osim rezervisanih karaktera: ;, /? : @ & = + $ # slova cifara i karaktera - _.! ~ * ' ( ) decodeuri() - invernza funkcija funkcije encodeuri encodeuricomponent() - funkcija koja vrsi kodiranje nesto sireg skupa karaktera sve osim slova, cifara i - _.! ~ * ' ( ) pa se onemogucava dodavanje novih parova URI-jima ime=vrednost u slucaju application/x-www-form-urlencoded formata decodeuricomponent() - inverzna funkcija funkcije encodeuricomponent() greske se generisu sa throw function test(x){ if(typeof x!= number ) throw new TypeError(...); if(x < conditions.min_value x>conditions.max_value ) throw new RangeError(...); return true;

sa error instanceof. se moze utvrditi kojeg je tipa greska koja se pojavila i u skladu sa tim preuzeti odgovarajuci skup akcija try{ var x= abc ; test(x); catch(error){ if( error instanceof TypeError){... else if(error instanceof RangeError){... else{ console.log(error.message); Mogu se kreirati i vlastiti objekti koji nasledjuju klasu Error function myerror(message){ this.message=message; this.name= myerror ; myerror.prototype=new Error(); u kodu: throw new myerror( my message ); - Upisivanje u centralizovani log sistem (na strani servera): svaki put kada se greska javi moze se generisati AJAX poziv koji sadrzi tip greske i opis greske; tako se lakse moze pratiti ponasanje aplikacije na strani klijenta //tzv. image pings tj. slanje zahteva preko img objekta function logerror(type, message){ var img=new Image(); img.src= log.php?type= +encodeuricomponent(type)+ &message= + encodeuricomponent(message); u kodu... catch(error){ if(error instanceof SyntaxError){

logerror( syntax, Description: +error.message); Image pings je jednosmerni vid komunikacije izmedju klijenta i servera koji zaobilazi the same origin policy (moze se komunicirati izmedju raznorodnih domena). Cesto se koriste za pracenje korisnickih klikova mana im je sto postoji mogucnost slanja samo GET zahteva i sto ne postoji mogucnost obrade serverskog tekstualnog odgovora: na raspolaganju su samo dogadjaji onload i onerror kojima se moze ispratiti kada pristigne odgovor od servera to je dalje obicno ili slika ili kod 204 STRICT MODE img.onload=img.onerror=function(){ obavestiti korisnika o uspesnosti... pojavio se sa ECMA5 standardom podrzavaju ga svi aktuelni pregledaci omogucava stroziju kontrolu gresaka bilo globalno bilo na nivou pojedinacnih funkcija u striktni mod se ulazi navodjenjem use strict ; niske na globalnom nivou use strict ; function. function. (ukljucivanjem jedne datoteke sa globalnim strict modom rezultira strict modom na nivou svih datoteka) lokalno, na nivou funkcije function test(...){ use strict ;.... ideja je spreciti sve one greske preko kojih interpreter moze da predje (silently falls) deklaracija u globalnom opsegu message=... ; ce rezultirati sa ReferenceError je se tezi sprecavanju slucajno kreiranih globalnih promenljivih Pridruzivanje vrednosti read-only svojstvu

Koriscenjem delete nad objektom kod koga je configurable svojstvo postavljeno na false Prosirivanje (dodavanje novog svojstva) objektu za koji je extensible postavljeno na false eval() funkciji se zabranjuje uvodjenje novih promenljivih i funkcija eval( var x=10; ); alert(x); generise SyntaxError ogranicenja na imenovanje promenljivih eval, arguments, nisu dozvoljena imena rezultat: je SyntaxError