ایجاد استثناء
شما میتوانید در هر جای برنامه یک خطای ساختگی ایجاد کنید. همچنین اگر پیغام پیشفرض استثناءها را دوست ندارید میتوانید به دلخواه خودتان یک پیغام برای نمایش ایجاد کنید. به مثال زیر توجه کنید :
1: fun main(args: Array<String>) 2: { 3: val firstNumber: Int 4: val secondNumber: Int 5: val result: Int 6: 7: print("Enter the first number: ") 8: firstNumber = readLine()!!.toInt() 9: 10: print("Enter the second number: ") 11: secondNumber = readLine()!!.toInt() 12: 13: try 14: { 15: if (secondNumber == 0) 16: { 17: throw ArithmeticException() 18: } 19: else 20: { 21: result = firstNumber / secondNumber 22: } 23: } 24: catch (error: ArithmeticException) 25: { 26: println(error.message) 27: } 28: }
Enter the first number: 10 Enter the second number: 0 null
در خط 17 و درست قبل از یک نمونه ایجاد شده از کلاس ArithmeticException از کلمه کلیدی throw استفاده کردهایم. میتوان مستقیماً و بدون ایجاد نمونه از کلاس، یک exception ایجاد و خطا را به دام انداخت. به مثال زیر توجه کنید :
throw ArithmeticException()
همچنین میتوان یک پیغام خطای سفارشی را به وسیله یکی دیگر از سربارگذاری های کلاس ArithmeticException که یک رشته را دریافت و آن را به عنوان پیغام خطا نمایش میدهد، نمایش داد.
throw ArithmeticException("Cannot divide by zero!")
در این حالت پیغام خطای پیشفرض تغییر کرده و در خاصیت message ذخیره میشود. ایجاد استثناء بیشتر در مواقعی به کار میرود که یک کد در حالت عادی خطا ندارد ولی شما میخواهید در هر صورت به عنوان یک خطا در نظر گرفته شود.