语法:控制结构

来自NMM Doc
Lititude讨论 | 贡献2010年2月4日 (四) 19:48的版本 (创建新页面为 '{{模板:正在翻译}} 严格来讲,AviSynth语法只提供了一种控制结构(实际上有两种,另一种是条件运算符号,?...')
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索
此页面尚未完成翻译,请协助完成翻译工作

严格来讲,AviSynth语法只提供了一种控制结构(实际上有两种,另一种是条件运算符号,? : ,用在其他地方),那就是 try...catch 声明。

【【目录】】

try...catch 声明

try...catch声明允许执行代码时产生可能的错误,并当错误发生时处理此错误。

完整的 try...catch语法表述如下:

try {
    ...
    statements
    ...
}
catch(err_msg) {
    ...
    statements
    ...
}

在catch区块中的字符串err_msg包含了AviSynth在执行try区块时产生的错误信息。这些文字和我们熟悉的当脚本发生严重错误的时候信息盒子里显示的错误信息一样。

可以查询这些文字(也就是普通的字符串变量)去查找特定的子字符串,判断发生的错误。这个技术可以产生有价值的结果(例子见此)。

其他(广义上)的控制结构

广义上看,AviSynth语法中有许多这样的元素,尽管本身不是控制结构,但当他们组合起来后,就成为了控制结构的等价形式。这些结构最后能完成复杂的编程任务。

考虑以下元素:

Eval()声明允许执行脚本语言任意声明(它的哥们儿Apply能简化用名称调用函数)。 多行字符串,尤其是用三重引号(文字上是“"""”,三个引号序列)包围的多行字符串