Skip to main content

NullPointerException কি ? অথবা this app unfortunately stopped working কেন হয় || What is NullPointerException ?

What is NullPointerException ?
যারা android নিয়ে কাজ করেছেন তাদেরকে কোন না কোন সময় এই সমস্যা টার মুখোমুখি হতে হয়েছে, যারা একেবারে নতুন তাদের জন্য এটি লিখা।
NullPointExeption হচ্ছে আপনার প্রোগ্রাম যে লাইনে run করছে সেখান থেকে সে একটা value চাইছে এবং সে সেটা পাচ্ছে না টার মানে null বা ফাকা। তখন app Crush করে বা মেসেজ দেয় this app unfortunately stopped working বা এই ধরনের কিছু । এই NullPointExeption এর সমস্যা টা মাঝে মাঝে বড় বড় developer দের ও পরতে হয় ।
আসুন যেনে নেই ২টি খুবি basic NullPointExeption এর কারন
সমস্যা ১ ঃ ধরুন আপনি একটা button create করেছেন এবং button টার ID button
তাহলে আপনার XML FILE বা activity_main.xml এ Button এর code থাকবে এই ভাবে
<Button
android:id="@+id/button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct" />
এবং
MainActivity.Java
file এ থাকবে
public class MyActivity extends Activity {
Button button
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//জাভা ফাইল এ button define
button = (Button) findViewById(R.id.button) button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// এ খানে button কে দিয়ে যা করাতে চান।
}
});
}
}
এখন আপনি যদি ভুলে button এর ID Define করার সময় কোন ভুল করেন ধুরুন button এর নাম button কিন্তু আপনি ভুলে butto লিখেছেন মানে শেষে N লিখতে আপনি ভুলে গিয়েছেন
যেমন হবে এই রকম
button = (Button) findViewById(R.id.button)
কিন্তু আপনি লিখলেন
button = (Button) findViewById(R.id.butto)
তখন কিন্তু আপনার app Crush করবে এবং লিখা আসবে this app unfortunately stopped working অথবা NullpointExeption অথবা আমার সাথে যে ভুলটা প্রায় হয় , ধরুন আমি সব কিছু লিখলাম
Button button;
button.setOnClickListener……
কিন্তু
button = (Button) findViewById(R.id.button) 
এই লাইন লিখতে ভুলে গেলাম তখন ও কিন্তু আমাকে উপরের Error গুলি শো করবে ।
code লিখার সময় একটু খেয়াল করে লিখলেই এই সমস্যা গুলিতে আপনাকে পরতে হবে না ।
সমস্যা ২ ঃ ধুরুন আপনি code লিখার সময় সব কিছু ঠিকঠাক লিখলেন কিন্তু টার পর ও এক page থেকে আরেক page এ যাওয়ার সময় আপনার NullPointerException এর মুখোমুখি হতে হল
এই ক্ষেত্রে আরেকটা বেপার ঘটতে পারে যেমন ধুরুন আপনার ২ টা page আছে একটার নাম
 MainActivity.java
আরেকটার নাম
WelcomeActiviy.java
আপনি চান কেও একটা button এ click করলে
MainActivity.java
page থেকে
WelcomeActiviy.java
page এ যাবে সব কিছু ঠিকঠাক আপনার app সুন্দর মত কাজ করছে কিন্তু আপনার হটাৎ মনে হল নাহ আমি আমার
WelcomeActiviy.java
এর নাম
HomeActivity.java
রাখব আপনি নাম পালটালেন ও কিন্তু টার পর থেকে আপনার আবার সেই সমস্যা NullPointerException অথবা this app unfortunately stopped working এই সমস্যার সমাধান এর জন্য দেখতে হবে Android এর যে
AndroidManifest.xml
যে file টা আছে সেখান থেকে ও কি আপনার WelcomeActiviy নাম HomeActivity হয়েছে কিনা যদি না হই তাহলে ও কিন্তু আপনার Error গুলি হতে পারে ।
আজকে NullPointerException এর এ দুটি নিয়ে কথা বলতাম এ ছাড়া ও NullPointerException এর আর অনেক সমস্যা আছে যেমন আপনি যখন Sqlite use করবেন তখন ও NullPointerException এর মুখোমুখি হতে পারেন সে গুলি আর ভিতর এর আলোচনা । তবে NullPointerException এর basic টা হচ্ছে আপনার প্রোগ্রাম যা চায় সেটা সে পাচ্ছে না এটা মাথায় রেখে একটু খেয়াল করলেই আপনি আপনার সমাধান পেয়ে যাবেন এবং
আশা করি যারা জানতেন না তাদের উপকার হবে এবং এই post টি শুধু মাত্র যারা নতুন তাদের জন্য লিখা আমার ও ভুল হতে পারে যদি কার কাছে সেটা ধরা পরে জানাবেন আমি ও আমার ভুল গুলি ঠিক করে নিবো
আল্লাহ হাফেয আশা করি সবাই ভাল থাকবেন 😊

Comments