[ထပ္ဆင့္သင္ခန္းစာ 3] ျပႆနာ အေျဖရွာျခင္း (Troubleshooting)
Program တစ္ပုဒ္ကို အခ်က္အလက္ေတြအလိုက္ operate လုပ္ခဲ့ေပမယ့္လည္း program အလုပ္မလုပ္တဲ့ ျပႆနာမ်ိဳး ႀကံဳဖူးပါသလား။
ဒီေခါင္းစဥ္က မၾကာခဏႀကံဳေတြ႕ရတတ္တဲ့ ျပႆနာပံုစံေတြ၊ ျပႆနာေတြကို ဘယ္လိုတိုင္းတာရမယ္ ဆိုတာကို မိတ္ဆက္ေပးမွာျဖစ္ပါတယ္။
ကဲ. . . ဒီေခါင္းစဥ္ကိုေလ့လာၾကည့္ရေအာင္။
Case 1: Program runတဲ့အခါ “NoClassDefFoundError” ဆိုတဲ့စာသားျပျခင္း။
Example:
Countermeasure 1-1: Environment variable ClASSPATH ကို မွန္မွန္ကန္ကန္သတ္မွတ္ျခင္း။
သင္ခန္းစာ ၃ “Let’s learn deeply the program!” ရဲ႕ “1. Let’s change the environment variable.” မွာပါတဲ့ “CLASSPATH” ကို ျပန္ေလ့လာၿပီးစစ္ေဆးၾကည့္ပါ။ ေအာက္ပါအခ်က္ေတြကို ေသခ်ာေအာင္လုပ္ပါ။
-
semicolon (;) ဒါမွမဟုတ္ dot (.) မပါျခင္း။
-
semicolon (;) ႏွင့္ colon (:) ကို မွားၿပီး အသံုးျပဳျခင္း။
-
dot (.) ႏွင့္ comma (,) ကို မွားၿပီး အသံုးျပဳျခင္း။
Measures 1-2: Class name ကို မွန္မွန္ကန္ကန္ ရိုက္ရဲ႕လား။
ကိုယ္အသံုးျပဳတဲ့ class ရဲ႕စာလံုးေပါင္းမွန္ရဲ႕လားဆိုတာဟာအေျခခံက်တဲ့ တိုင္းတာမႈျဖစ္ပါတယ္။
စာလံုးေပါင္းအႀကီး၊ အေသး၊ .class ဆိုတဲ့ extension မွန္မမွန္ ေသခ်ာေအာင္ လုပ္သင့္ပါတယ္။
Measures 1-3: javac ျဖင့္ compile လုပ္တဲ့အခါ fail ျဖစ္ခဲ့လား။
သင္ဟာ program ကို execute မလုပ္ခင္မွာ javac command ကိုသုံးျပီး compile လုပ္ခဲ့ပါတယ္။ အဲဒီ compilation လုပ္တဲ့အခ်ိန္မွာသင္မည္သည့္ errors ကိုမွမျမင္ခဲ့မိဘူးလား။
အကယ္၍သင္ဟာ compilation မွာ မေအာင္ျမင္ခဲ့ဘူးဆိုရင္ သင္ဟာ program ကို run ႏိုင္မွာမဟုတ္ပါဘူး။
အဲဒါေၾကာင့္ source file ကိုျပန္ၾကည့္ျပီးေတာ့ file မွာ အမွားရိွ ၊ မရိွ ျပန္စစ္ၾကည့္ပါ။
Case 2:「‘javac’ is not recognized … 」 ဆိုတဲ့စာသားကို compile လုပ္တဲ့အခ်ိန္မွာျပျခင္း။
Example:
Counter measures 2-1: Environment variable PATH ကိုေသခ်ာသတ္မွတ္ထားရဲ့လား?
Environment variable ကို “Lecture 0: Let’s install Java” မွာရွိတဲ့ “STEP3 Beginners’ frequently mistake, environment variable” အရျပန္စစ္ပါ။
တကယ္လို႕သင္ဟာ environment variable ကိုေျပာင္းလိုက္တဲ့အခါမွာ command prompt ကိုတစ္ၾကိမ္ျပန္ပိတ္ဖို႕လိုအပ္ၿပီး settings မွာေျပာင္းသြားေစဖို႔ ျပန္ဖြင့္ရပါမယ္။
Case 3: 「HelloWorld is invalid flag」 ဆိုတဲ့စာသားကို compile လုပ္တဲ့အခ်ိန္မွာျပျခင္း။
Example:
Measures 3-1: File name ကိုမွန္ကန္စြာလုပ္ထားရဲ့လား?
သင္ဟာ file နာမည္ကို .java ပါေအာင္ မွန္မွန္ကန္ကန္ေပးဖို႔လိုပါတယ္။တစ္ကယ္လို႔ file နာမည္ကမွန္ေနတယ္ဆိုရင္ ေတာ့ သင္ဟာကြဲျပားျခားနားတဲ့ directory အေနနဲ႔ ဖြင့္ႏိုင္ပါတယ္။
Directory ကို 「Let’s start without stress」 မွာရိွတဲ့ “2 . Compile” အရ စစ္ေဆးၾကည့္ရေအာင္။
Case 4: “ HelloWorld is public…” ဆိုတဲ့စာသားကို compile လုပ္တဲ့အခ်ိန္မွာျပျခင္း။
Example:
Counter measure 4-1: file နာမည္နဲ႔ class နာမည္ကို စစ္ေဆးၾကည့္ပါ။
Class နာမည္ဟာ file နာမည္နဲ႔ (suffix part ပါအပါအ၀င္) အျပည့္အစံုတူဖို႔လိုအပ္ပါတယ္။ စာလံုးေပါင္းတင္တူရမွာမဟုတ္ ဘဲ စာလံုးအႀကီးအေသးကအစ တူဖို႔လိုအပ္ပါတယ္။
အက်ဥ္းခ်ဳပ္
တကယ္လို႔ သင္ရဲ႕ program က run လို႔မရတဲ့အခါမွာ ေအာက္ပါအခ်က္ေတြကုိ စစ္ေဆးၾကည့္ရေအာင္။
၁. Class နာမည္က file နာမည္နဲ႔ စာလံုးေပါင္း၊ စာလံုးအႀကီး အေသးကအစ တူမတူ။
၂. Environment variable (PATH, CLASSPATH) က မွန္မွန္ကန္ကန္ သတ္မွတ္ထားမထား။
၃. မတူညီတဲ့ directory မွာလုပ္ မလုပ္။
သင့္ျပႆနာကိုေျဖရွင္းႏိုင္ခဲ့လား။ သင္ဟာ အေပၚကရွင္းျပခဲ့တဲ့ သင္ခန္းစာအတိုင္းဖတ္ၿပီး ႀကိဳးစားၾကည့္လို႔ ျပႆနာကို မေျဖရွင္းႏိုင္ဘူးဆိုရင္ ေအာက္မွာျပထားတဲ့ ပံုစံအတိုင္း ေမးခြန္းေမးႏိုင္ပါတယ္။