Srodne teme
Kliknite za generisanje liste srodnih tema...
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

NullPointerException

[es] :: Java :: NullPointerException

[ Pregleda: 3288 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ziris

Član broj: 110080
Poruke: 19
*.neobee.net.



Profil

icon NullPointerException08.10.2006. u 16:44 - pre 213 meseci
Jel može neko da mi pojasni šta znači tačno ovaj izuzetak(NullPointerException)?
To mi izbacuje kad sam pokušala sa nekim kodom da ubacim tip podataka blob u moju tabelu u bazi...
Nisam sigurna gde grešim
 
Odgovor na temu

antix

Član broj: 8388
Poruke: 265
*.smin.sezampro.yu.

Jabber: antix@elitesecurity.org


Profil

icon Re: NullPointerException08.10.2006. u 16:56 - pre 213 meseci
Taj exception se generiše kada probaš da pozoveš neki metod na referenci koja je null. Evo primjer:

java.lang.String objekti imaju metod length() koji vraća dužinu Stringa. Normalno radiš ovako:

Code:

String s = new String("test");
System.out.println(s.length());


ali ako uradiš ovako:

Code:

String s = null;
System.out.println(s.length());


generisaće se NullPointerException jer referenca s pokazuje na null.
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
*.eunet.yu.



+10254 Profil

icon Re: NullPointerException08.10.2006. u 17:18 - pre 213 meseci
Da se nadovezem: javlja se kad pokusavas da radis sa objektom koji je samo deklarisan a ne i inicijalizovan.
To je run-time exception koji ne mora da se hendluje, ali moze.
U narodu je poznat kao: ZVEKETE EKSEPŠN.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

ziris

Član broj: 110080
Poruke: 19
*.neobee.net.



Profil

icon Re: NullPointerException08.10.2006. u 17:47 - pre 213 meseci
ok,hvala sad mi je donekle jasno,ali pošto nisam ja pisala kod već sam ga samo modifikovala,staviću ga ovde pa ako neko može da mi pomogne kako da to izmenim bila bih mu zahvalna...

public class TestBLOBGetBinaryOutputStream {
Connection conn;
public TestBLOBGetBinaryOutputStream( ) {
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver(
));
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","SYSTEM","jeja");

}
catch (SQLException e) {
System.err.println(e.getMessage( ));
e.printStackTrace( );
}
}
public static void main(String[] args)
throws Exception, IOException {
new TestBLOBGetBinaryOutputStream().process( );
}
public void process( ) throws IOException, SQLException {

FileInputStream fin;
OutputStream out;
ResultSet rslt;
Statement stmt = null;
BLOB slika; // NOTE: oracle.sql.BLOB!!!

try {
conn.setAutoCommit(false);

stmt.executeUpdate(
"insert into Slike " +
"( id_slike, slika, komentar,id_mesta,id_smeštaja ) " +
"values " +
"( 1,empty_blob(),'no comment',1,1 ");

// Retrieve the locator

rslt = stmt.executeQuery("SELECT slika FROM Slike WHERE id_slike=1 FOR UPDATE NOWAIT");

rslt.next( );
slika = ((OracleResultSet)rslt).getBLOB(1);

// Now that we have the locator,
// lets store the photo
File binaryFile = new File("D:\\jeja\\diplomski\\slike\\slika1.jpg");
fin = new FileInputStream(binaryFile);
out = slika.getBinaryOutputStream( );
// Get the optimal buffer size from the BLOB
byte[] buffer = new byte[slika.getBufferSize( )];
int length = 0;
while ((length = fin.read(buffer)) != -1) {
out.write(buffer, 0, length);
}
out.close( );
out = null;
fin.close( );
fin = null;
conn.commit( );

}
catch (SQLException e) {
System.err.println("SQL Error: " + e.getMessage( ));
}
catch (IOException e) {
System.err.println("IO Error: " + e.getMessage( ));
}

catch (NullPointerException e){
System.err.println("NullPointer Error:" + e.getMessage());
}

}
protected void finalize( )
throws Throwable {
if (conn != null)
try { conn.close( ); } catch (SQLException ignore) { }
super.finalize( );
}
}

 
Odgovor na temu

antix

Član broj: 8388
Poruke: 265
*.smin.sezampro.yu.

Jabber: antix@elitesecurity.org


Profil

icon Re: NullPointerException08.10.2006. u 21:55 - pre 213 meseci
Citat:
Java Beograd: Da se nadovezem: javlja se kad pokusavas da radis sa objektom koji je samo deklarisan a ne i inicijalizovan.
To je run-time exception koji ne mora da se hendluje, ali moze.
U narodu je poznat kao: ZVEKETE EKSEPŠN.


Ne bih baš da cjepidlačim ali ovo sa deklarisanjem i inicijalizacijom i nije baš tačno

Objekat može da bude inicijalizovan i na null što znači da NullPointerException može da bude generisan i prilikom rada sa inicijalizovanim objektom.
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ns.ac.yu.



+6 Profil

icon Re: NullPointerException09.10.2006. u 07:56 - pre 213 meseci
Citat:
antix: Objekat može da bude inicijalizovan i na null ...


Ne govorim ni da je ovo tacno ni da nije, vec samo zelim da pitam:
Da li je objekat inicijalizovan ovako? Nije pozvan nijedan od konstruktora (ni default) pa mi se cini da objekat nije
inicijalizovan vec je samo referenci dodeljena vrednost null.
Da li sam u pravu, ako ne zasto?

Pozdrav!


Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

antix

Član broj: 8388
Poruke: 265
*.smin.sezampro.yu.

Jabber: antix@elitesecurity.org


Profil

icon Re: NullPointerException09.10.2006. u 10:41 - pre 213 meseci
Citat:
Toxter: Ne govorim ni da je ovo tacno ni da nije, vec samo zelim da pitam:
Da li je objekat inicijalizovan ovako? Nije pozvan nijedan od konstruktora (ni default) pa mi se cini da objekat nije
inicijalizovan vec je samo referenci dodeljena vrednost null.
Da li sam u pravu, ako ne zasto?

Pozdrav!


Da, u pravu si...lapsus... objekat nije inicijalizovan bez da su pozvani konstruktori itd. Zapravo, ono na šta sam mislio jeste: referenca na objekat može da bude inicijalizovana i na null, a NullPointerException se generiše baš tada.. kada je referenca null, a ti probaš da radiš sa njom kao da nije null.
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
..yu.220.247.194.in-addr.arpa.



+10254 Profil

icon Re: NullPointerException09.10.2006. u 14:51 - pre 213 meseci
Čim deklarišeš objekat, on ima referencu na null. Tako, što se pomenutog Exception-a tiče potpuno je isto:

Object o;

i

Object o = null;
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

martin_v
Beograd

Član broj: 88293
Poruke: 6
62.240.5.*



Profil

icon Re: NullPointerException10.10.2006. u 00:03 - pre 213 meseci
Citat:
ziris:
...
FileInputStream fin;
OutputStream out;
ResultSet rslt;
Statement stmt = null;
BLOB slika; // NOTE: oracle.sql.BLOB!!!

try {
conn.setAutoCommit(false);

stmt.executeUpdate(
"insert into Slike " +
"( id_slike, slika, komentar,id_mesta,id_smeštaja ) " +
"values " +
"( 1,empty_blob(),'no comment',1,1 ");
...


stmt ti ima vrednost null. dodaj stmt = conn.createStatement();
 
Odgovor na temu

ziris

Član broj: 110080
Poruke: 19
*.neobee.net.



Profil

icon Re: NullPointerException10.10.2006. u 16:23 - pre 213 meseci
Dodala sam,thanks.. mada mi sad izbacuje drugu grešku SQL Error: ORA-00917: missing comma, ali to već nema veze sa javom, pa ću potražiti pomoć na drugom mestu...
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
195.252.90.*

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: NullPointerException10.10.2006. u 23:18 - pre 213 meseci
Citat:
Java Beograd: Čim deklarišeš objekat, on ima referencu na null. Tako, što se pomenutog Exception-a tiče potpuno je isto:

Object o;

i

Object o = null;


Da iscepidlačimo do kraja. U primeru o nije objekat. To je samo promenjiva čiji je tip "referenca na (objekat tipa) Object". U čitavoj liniji nema ni jednog objekta! null je samo posebna vrednost koja se može dodeliti promenjivim koje su tipa reference na nešto, a koja znači da promenjiva ne referencira objekat.

A u javi su objekti UVEK inicijalizovani. Čak i ako se u definiciji klase ne napiše konstruktor postoji default, a i pre izvršenja konstruktora JVM pri alociranju memorije taj prostor popuni nulama koje se ovistno od tipa atributa tumače kao 0, 0.0f, 0.0d, 0L, false, null...
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9506
*.eunet.yu.



+10254 Profil

icon Re: NullPointerException11.10.2006. u 07:36 - pre 213 meseci
Slažem se da su objekti uvek inicijalizovani, jer ako nisu, onda i ne postoje. Jer momenat inicijalizacije je momenat njihovog kreiranja.

Medjutim i u primeru :

Object o = new Object();

'o' nije objekat vec (citiram) To je samo promenjiva čiji je tip "referenca na (objekat tipa) Object".

Gde nam onda nestadoše objekti ?
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

antix

Član broj: 8388
Poruke: 265
*.smin.sezampro.yu.

Jabber: antix@elitesecurity.org


Profil

icon Re: NullPointerException11.10.2006. u 09:31 - pre 213 meseci
Citat:
Java Beograd: Slažem se da su objekti uvek inicijalizovani, jer ako nisu, onda i ne postoje. Jer momenat inicijalizacije je momenat njihovog kreiranja.

Medjutim i u primeru :

Object o = new Object();

'o' nije objekat vec (citiram) To je samo promenjiva čiji je tip "referenca na (objekat tipa) Object".

Gde nam onda nestadoše objekti ?


Objekti su na heap-u, a sve reference su na stacku. A ti u Javi uvijek radiš ili sa referencama ili
sa primitivnim tipovima i preko referenci manipulišeš objektima na koje ovi pokazuju (referenciraju).
 
Odgovor na temu

[es] :: Java :: NullPointerException

[ Pregleda: 3288 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
Kliknite za generisanje liste srodnih tema...
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.