PowerShell স্ক্রিপ্টে Error Handling বা ত্রুটি মোকাবেলা করার জন্য বিভিন্ন সুবিধা প্রদান করে, যাতে আপনি সহজেই ত্রুটিগুলো চিহ্নিত করতে এবং সেই অনুযায়ী সেগুলোকে নিয়ন্ত্রণ করতে পারেন। এর মধ্যে দুটি গুরুত্বপূর্ণ ধারণা হল Error Variable ($Error) এবং Error Action Preferences, যা ত্রুটি পরিচালনা করার ক্ষেত্রে সাহায্য করে।
Error Variable ($Error)
PowerShell একটি বিল্ট-ইন $Error ভেরিয়েবল প্রদান করে, যা আপনার স্ক্রিপ্টের মধ্যে সংঘটিত ত্রুটির একটি অ্যারে ধারণ করে। এই ভেরিয়েবলটি একটি কমান্ড বা স্ক্রিপ্ট চলাকালীন তৈরি হওয়া সকল ত্রুটি সংগ্রহ করে রাখে এবং আপনি সেগুলোর বিস্তারিত তথ্য অ্যাক্সেস করতে পারেন।
$Error ভেরিয়েবলটির বৈশিষ্ট্যসমূহ:
- $Error একটি অ্যারে (array) হিসেবে কাজ করে, যা সর্বশেষ ত্রুটির মধ্যে সবচেয়ে সাম্প্রতিক ত্রুটিটি প্রথমে (index 0) রাখে এবং তার পরবর্তী ত্রুটিগুলো অ্যারেতে রাখা হয়।
- এটি চলমান স্ক্রিপ্টের সমস্ত ত্রুটির একটি ইতিহাস রাখে, যাতে আপনি পরে প্রয়োজনে সেই ত্রুটিগুলো পর্যবেক্ষণ করতে পারেন।
$Error ব্যবহার করার উদাহরণ:
Get-Content "nonexistentfile.txt"
# এই লাইনে ত্রুটি ঘটবে কারণ ফাইলটি নেই।
# ত্রুটির বিস্তারিত দেখতে
$Error[0]
এখানে, Get-Content কমান্ডটি nonexistentfile.txt ফাইলটি না পেয়ে একটি ত্রুটি সৃষ্টি করবে। তারপর $Error[0] দ্বারা আপনি সর্বশেষ ত্রুটির বিস্তারিত দেখতে পারবেন।
$Error ভেরিয়েবল থেকে তথ্য পাওয়া:
# Error থেকে ত্রুটির মেসেজ এবং উৎস (source) বের করা
$Error[0].Exception.Message
$Error[0].InvocationInfo
এখানে, $Error[0].Exception.Message ত্রুটির বার্তা দেখাবে এবং $Error[0].InvocationInfo ত্রুটির উৎস এবং এক্সট্রা তথ্য প্রদান করবে।
Error Action Preferences
PowerShell ত্রুটি মোকাবেলার জন্য Error Action Preferences ব্যবহার করে, যা নির্ধারণ করে যে একটি ত্রুটি ঘটলে PowerShell কিভাবে প্রতিক্রিয়া জানাবে। আপনি -ErrorAction প্যারামিটার ব্যবহার করে নির্দিষ্ট করতে পারেন কিভাবে ত্রুটির ক্ষেত্রে PowerShell আচরণ করবে। এটি মূলত পাঁচটি ভ্যালু নিতে পারে:
| ErrorAction Value | বর্ণনা |
|---|---|
| Continue | এটি ডিফল্ট আচরণ, যেখানে ত্রুটি ঘটলে PowerShell ত্রুটির বার্তা দেখায় এবং পরবর্তী লাইনটি চালাতে থাকে। |
| Stop | ত্রুটি ঘটলে স্ক্রিপ্ট সম্পূর্ণরূপে বন্ধ হয়ে যায়। |
| SilentlyContinue | ত্রুটি ঘটলেও PowerShell ত্রুটির বার্তা দেখাবে না এবং স্ক্রিপ্ট চালিয়ে যাবে। |
| Inquire | ত্রুটি ঘটলে PowerShell ব্যবহারকারীকে একটি প্রশ্ন জিজ্ঞাসা করবে, "এটা কীভাবে পরিচালনা করবেন?" |
| Ignore | ত্রুটি ঘটলেও PowerShell ত্রুটির কোনো বার্তা দেখাবে না এবং কিছুই করবে না। |
ErrorAction উদাহরণের মাধ্যমে ব্যবহার:
# ErrorAction ব্যবহার করে একটি কমান্ড চালানো
Get-Content "nonexistentfile.txt" -ErrorAction Stop
# এটি ফাইল না পেলে স্ক্রিপ্টটি সম্পূর্ণভাবে বন্ধ হয়ে যাবে।
# ErrorAction ব্যবহার করে ত্রুটি অবজ্ঞা করা
Get-Content "nonexistentfile.txt" -ErrorAction SilentlyContinue
# এটি ত্রুটি ঘটলে কিছুই দেখাবে না এবং স্ক্রিপ্ট চালিয়ে যাবে।
Example with Try, Catch, Finally:
PowerShell এ Try, Catch, Finally ব্লক ব্যবহার করে ত্রুটি ব্যবস্থাপনা আরও সহজ এবং কার্যকরী করা যায়।
Try {
# একটি ত্রুটি সৃষ্টিকারী কমান্ড
Get-Content "nonexistentfile.txt" -ErrorAction Stop
}
Catch {
# ত্রুটি হলে এই ব্লকটি এক্সিকিউট হবে
Write-Host "Error occurred: $($_.Exception.Message)"
}
Finally {
# এই ব্লকটি সবসময় এক্সিকিউট হবে, ত্রুটি হোক বা না হোক
Write-Host "Script execution completed."
}
এখানে, Try ব্লকে যদি কোন ত্রুটি ঘটে, তবে তা Catch ব্লকে ধরা হবে এবং ত্রুটির বার্তা প্রিন্ট হবে। Finally ব্লক সবসময় কার্যকর হবে, যেমন স্ক্রিপ্ট শেষ হলে।
সারসংক্ষেপ
$Error ভেরিয়েবল এবং Error Action Preferences PowerShell স্ক্রিপ্টে ত্রুটি পরিচালনা করার জন্য অত্যন্ত গুরুত্বপূর্ণ। $Error ভেরিয়েবলটি ত্রুটির ইতিহাস সংরক্ষণ করে এবং তার সাথে বিশদ তথ্য প্রদান করে, যেখানে Error Action Preferences আপনাকে ত্রুটির মোকাবেলা কিভাবে হবে তা নিয়ন্ত্রণ করতে সাহায্য করে। এর মাধ্যমে আপনি স্ক্রিপ্টে ত্রুটি ঘটে গেলে সঠিকভাবে প্রতিক্রিয়া জানাতে পারেন এবং সিস্টেমের নিরাপত্তা নিশ্চিত করতে পারেন।
Read more