ধরুন আগের লেসনে শেখা প্রোগ্রামটি রান করে যোগ করতে গেলো কিন্তু ইনপুট কিছুই দিলো না। কি হবে?
প্রোগ্রামটি নিচের চিত্রের মতন ক্রাশ করবে।
Debug>Stop Debugging দিন।
যাতে এই সমস্যা না হয়, সেজন্য কিছু কন্ডিশন add করে নিতে পারেন। সেটা অনেকভাবেই করা যায়।
পদ্ধতি ১: আপনার কোড টির আগে নিচের মত if-else যুক্ত করুন।
private void btnResult_Click(object
sender, EventArgs e)
{
if
(txtNum1.Text.Length > 0 && txtNum2.Text.Length > 0)
{
double
num1 = double.Parse(txtNum1.Text);
double
num2 = double.Parse(txtNum2.Text);
double
res = num1 + num2;
txtResult.Text =
res.ToString();
}
else
{
MessageBox.Show("Please check your
text box", "Error",
MessageBoxButtons.RetryCancel,
MessageBoxIcon.Error);
}
}
এবার execute করে দেখুন।
এই logic এর
মানে হল user যখন textbox এ কোন কিছু input না দিবে তখন textbox এ string length null দেখাবে। যদি input string length 0 থেকে বড়ো হয় তাহলেই program execute করবে। আর input string length 0 বা null হলে message show করবে।
private void btnResult_Click(object
sender, EventArgs e)
{
try
{
double
num1 = double.Parse(txtNum1.Text);
double
num2 = double.Parse(txtNum2.Text);
double
res = num1 + num2;
txtResult.Text =
res.ToString();
}
catch
{
MessageBox.Show("Please check your text box", "Error",
MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
}
}
এর মানে হল try অংশের ভিতরে যা থাকবে C# প্রথমে সেটাকে execute করবে। আর যদি user কোন ভুল করে তাহলে সেটা catch অংশে প্রদর্শন করবে। ক্রিকেট খেলায়
ব্যাটসম্যান try করে ব্যাট বলে লাগানোর জন্য। যদি না
পারে তাহলে উইকেটকিপার catch ধরে। ব্যাপারটা অনেকটা
সেরকম।
একটা জিনিস মনে রাখবেন, if-else বা
try…catch করতে হবে ক্ষেত্র বুঝে। if-else use করতে হয় logically আপনি কোন কাজ করলে। আর try…catch করতে হয় exception throw করতে।
এখন আমি দেখাব কিভাবে কোডিং করে আপনার সফটওয়্যার কে close করবেন।
Toolbox থেকে আরেকটি button drug and drop করুন। properties থেকে
method name এবং Text name change করুন।
method name দিন btnClose এবং Text name দিন "প্রোগ্রাম বন্ধ করুন".
Close
Button এ Double Click করে নিচের কোডটি লিখুন।
private void btnClose_Click(object
sender, EventArgs e)
{
this.Close();
}
এবার Compile করে test করুন।