dlang语言最新dmd2103版本try catch语句怎么捕获exception的信息比如文字提示信息举几个完整可以运行的例子让我学习try catch和exception的知识点
在D语言中,try-catch语句可以捕获异常并打印错误信息。以下是几个完整可以运行的例子:
例子1:捕获标准异常并输出错误信息
import std.exception;
void main()
{
try
{
int[] arr;
arr[0] = 1; // 数组越界,会抛出 RangeError 异常
}
catch (RangeError e)
{
writeln("错误信息:", e.msg);
}
}
输出结果:
错误信息:Range violation
例子2:自定义异常类并抛出
class MyException : Exception
{
this(string msg)
{
super(msg);
}
}
void main()
{
try
{
throw new MyException("自定义异常");
}
catch (MyException e)
{
writeln("错误信息:", e.msg);
}
}
输出结果:
错误信息:自定义异常
例子3:捕获任意异常并输出错误信息
void main()
{
try
{
int a = 1 / 0; // 除以0,会抛出 DivideError 异常
}
catch (Throwable e)
{
writeln("错误信息:", e.msg);
}
}
输出结果:
错误信息:integer division by zero
总结:
- D语言的try-catch语句可以捕获任意类型的异常,包括标准异常和自定义异常。
- 异常类需要继承自Exception类或其子类,在构造函数中传递错误提示信息。
- 捕获异常时可以使用catch关键字并指定异常类型,也可以使用catch(Throwable)捕获任意类型异常
原文地址: https://www.cveoy.top/t/topic/fdQc 著作权归作者所有。请勿转载和采集!