delphi 关于异常处理的问题,请教各路大侠!!!
delphi关于异常处理有两种结构第一种:tryexcept//异常处理语句end第二种:tryfinally//无论是否发生异常,都处理的语句end;那么想请教下,是否...
delphi 关于异常处理有两种结构
第一种:
try
except
//异常处理语句
end
第二种:
try
finally
//无论是否发生异常,都处理的语句
end;
那么想请教下,是否
try
raise exception.create('error');
except
//这里没有处理语句
end;
是否这个error异常最终会被释放,如果没有 try except end 这种结构,但处理过程中,发生异常,这时这个异常会怎样。 展开
第一种:
try
except
//异常处理语句
end
第二种:
try
finally
//无论是否发生异常,都处理的语句
end;
那么想请教下,是否
try
raise exception.create('error');
except
//这里没有处理语句
end;
是否这个error异常最终会被释放,如果没有 try except end 这种结构,但处理过程中,发生异常,这时这个异常会怎样。 展开
3个回答
展开全部
如果没有except end 会以提示框的形式报错
举个例子 比如做一个除法 被除数是0 这是会报异常的
如果 有try except 那么 你可以 在里面用showmessage("你的数据有错误")这样友好的形式进行提示,当然也可以不提示
如果没有 try except 那么就会弹出一个全英文的系统提示框
举个例子 比如做一个除法 被除数是0 这是会报异常的
如果 有try except 那么 你可以 在里面用showmessage("你的数据有错误")这样友好的形式进行提示,当然也可以不提示
如果没有 try except 那么就会弹出一个全英文的系统提示框
更多追问追答
追问
那有try except end这种结构,里面的异常会释放是吧,如果里面发生内存溢出或者I/O错误呢,或者发生致命的错误呢,这种结构会释放捕捉并释放异常吗,
因为我试过,没有try except end 这种结构的代码时,如果发生异常,但异常出现一定的次数时,整个程序就会奔溃,并自动关闭,
我就想确定一下,这种结构能否 捕捉并释放异常,就算没有 except end内没有异常处理代码。
追答
try except 只是捕捉异常 不释放 所以就算你捕捉到异常 也要用finally 进行释放 这就是finally存在的意义
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询