在计算机科学中,运行时间、运行时或执行时间是程序运行(执行)的时间,与其他程序生命周期阶段(如编译时间、链接时间和加载时间) 相对应。
运行时错误是在程序执行(运行状态)之后或期间检测到的,而编译时错误是在程序执行之前由编译器检测到的。类型检查、寄存器分配、代码生成和代码优化通常在编译时完成,但也可以在运行时完成,具体取决于特定的语言和编译器。存在许多其他运行时错误由不同的语言进行不同的处理,例如零除错误、域错误、数组下标越界错误、算术下溢错误、几种类型的下溢和上溢错误,以及通常被认为是软件错误的许多其他运行时错误,这些错误可能被一些特定的计算机语言捕获和处理。
当要执行程序时,加载程序首先执行必要的内存设置,并将程序与它需要的一些动态链接库链接起来,然后从程序的入口点开始执行。在某些情况下,语言或实现将由语言运行平台完成这些任务,尽管这在普通消费者操作系统的主流语言中是不常见的。
一些程序调试只能在运行时执行(或者在执行时更有效或更准确)。逻辑错误和数组边界检查就是例子。出于这个原因,尽管有复杂的编译时检查和预发布测试,但是直到在具有真实数据的生产环境中测试程序时,才会发现一些程序错误。在这种情况下,最终用户会遇到运行时错误消息。
异常处理是一种旨在处理运行时错误的语言功能,它提供了一种结构化的方法来捕获完全意外的情况以及可预测的错误或异常结果,而无需对没有异常处理的语言进行大量的内联错误检查。运行时引擎的最新进展支持自动异常处理,通过在运行时引擎上添加一个特殊的软件层设计,为每个值得关注的异常提供涉及到“根本原因”的调试信息,并且独立于源代码实现。
暂无