THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 164

NullPointerException:

B n c g ng truy c p m t bi n th c th ho c kích ho t m t ph ng th c trên đ i t ng mà b n

ạ ố ắ

ế

ươ

ố ượ

thân nó đang là null. B n c n ph i hình dung ra bi n nào là

ạ ầ

ế

null r i hình dung xem b ng cách

nào d n đ n hi n t ng đó. Hãy nh r ng khi khai báo m t bi n v i m t ki u đ i t ng, thì ban

ế

ệ ượ

ớ ằ

ế

ố ượ

đ u nó v n là

null đ n t n khi b n gán giá tr cho. Ch ng h n, đo n mã sau gây ra bi t l

ế ậ

ệ ệ

NullPointerException:

Point blank;

System.out.println(blank.x);

ArrayIndexOutOfBoundsException:

Ch s mà b n đang dùng đ truy c p m t m ng đã l n h n

ỉ ố

ơ array.length-1. N u b n tìm đ c v

ế

ượ ị

trí l i, hãy thêm vào câu l nh

print

vào ngay tr c l i này đ hi n th giá tr c a ch s cùng v i

ướ ỗ

ể ể

ị ủ

ỉ ố

chi u dài c a m ng. Li u m ng này có kích th c đúng ch a? Ch s có đúng không? Bây gi

ướ

ư

ỉ ố

tìm ng c l i d c ch ng trình và xem m ng này cùng v i ch s đó b t ngu n t đâu. Hãy tìm

ượ ạ ọ

ươ

ỉ ố

ồ ừ

l nh gán g n nh t và xem nó có th c hi n đúng không. N u không có cái nào là tham s , thì hãy

ế

đ n ch ph ng th c đ c kích ho t và xem các giá tr này đ n t đâu.

ế

ươ

ứ ượ

ế ừ

StackOverFlowException:
Xem “Đ quy vô h n.”

FileNotFoundException:
Đi u này nghĩa là Java không tìm th y file c n thi t. N u b n đang dùng m t môi tr

ng phát tri n

ế

ế

ườ

d a trên các d án, nh Eclipse, thì có kh năng là b n s ph i nh p file đó vào trong d án đang m .

ư

ạ ẽ

Còn không thì hãy đ m b o ch c r ng file đó t n t i và đ ng d n đ n nó đ c ghi đúng. V n đ này

ắ ằ

ồ ạ

ườ

ế

ượ

tuỳ thu c vào h th ng file trên máy tính c a b n, b i v y có th khó dò tìm.

ệ ố

ở ậ

ArithmeticException:
Bi t l phát ra khi có tr c tr c v i phép toán s h c, th ng là phép chia cho s không.

ệ ệ

ặ ớ

ố ọ

ườ

TÔI ĐÃ THÊM VÀO QUÁ NHI U L NH PRINT Đ N N I BÂY GI NG P TRÀN K T QU Đ U RA.

Ả Ầ

M t trong nh ng v n đ khi dùng l nh

print

đ g l i là vi c b n có th b chìm trong k t qu ra. Có

ể ỡ ỗ

ệ ạ

ể ị

ế

hai cách ti p t c: đ n gi n hóa đ u ra ho c đ n gi n hóa ch

ng trình.

ế ụ

ơ

ặ ơ

ươ

Đ gi n hóa k t qu đ u ra, b n c n xóa b ho c đ a vào chú thích nh ng dòng l nh

ể ả

ế

ả ầ

ạ ầ

ặ ư

print

v n không

có tác d ng, ho c k t h p chúng l i, ho c s a đ nh d ng đ u ra đ d hi u h n.

ặ ế ợ

ặ ử

ể ễ ể

ơ

Đ gi n hóa ch

ng trình, có vài cách làm đ

c. Tr

c h t, hãy gi m quy mô c a bài toán xu ng. Ch ng

ể ả

ươ

ượ

ướ ế

h n, n u b n c n tìm ki m trong m ng, hãy làm v i m t m ng

ế

ạ ầ

ế

nhỏ. N u ch ng trình nh n đ u vào t

ế

ươ

phía ng

i dùng, hãy cho nh ng d li u vào đ n gi n mà gây ra l i.

ườ

ữ ệ

ơ

Đ ng th i hãy d n d p ch

ng trình. Hãy b nh ng đo n mã ch t và t ch c l i ch

ng trình đ nó

ươ

ế

ổ ứ ạ

ươ

càng d đ c càng t t. Ch ng h n, n u b n nghi r ng v n đ n m m t đo n n m sâu trong ch

ng

ễ ọ

ế

ề ằ ở ộ

ươ

trình, hãy th vi t l i nó v i c u trúc đ n gi n h n. N u b n nghi ng r ng có m t ph

ng th c l n,

ử ế ạ

ớ ấ

ơ

ơ

ế

ờ ằ

ươ

ứ ớ

hãy th ch nh thành nh ng ph

ng th c nh và ki m tra l n l

t.

ử ẻ

ươ

ầ ượ

Thông th

ng quá trình tìm ra tr

ng h p th đ n gi n nh t s d n b n đ n đi m gây l i. Ch ng h n,

ườ

ườ

ử ơ

ấ ẽ ẫ

ế

n u b n th y ch

ng trình ch y đ

c trong tr

ng h p s ph n t trong m ng là ch n nh ng không

ế

ươ

ượ

ườ

ợ ố

ầ ử

ư

đ

c khi s ph n t là l , thì đi u đó s là d u v t cho th y đi u gì đang di n ra.

ượ

ầ ử

ế

Vi c t ch c l i m t đo n mã có th giúp b n phát hi n nh ng l i nh . N u b n th c hi n s a đ i mà

ệ ổ ứ ạ

ỏ ế

ệ ử

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.