<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Template%3ATryError%2Fdoc</id>
	<title>Template:TryError/doc - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Template%3ATryError%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Template:TryError/doc&amp;action=history"/>
	<updated>2026-07-23T00:01:18Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Template:TryError/doc&amp;diff=3370862&amp;oldid=prev</id>
		<title>imported&gt;D2513850：​/* 範例 */嵌入已知會模板循環的Template:模板1</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Template:TryError/doc&amp;diff=3370862&amp;oldid=prev"/>
		<updated>2023-11-13T13:22:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;範例：​&lt;/span&gt;嵌入已知會模板循環的&lt;a href=&quot;/wiki/Template:%E6%A8%A1%E6%9D%BF1&quot; title=&quot;Template:模板1&quot;&gt;Template:模板1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA/MediaWiki}}{{Documentation subpage}}&amp;lt;!-- 在本行下編輯模板說明 --&amp;gt;&lt;br /&gt;
{{High-use|10131}}&lt;br /&gt;
&lt;br /&gt;
== 概要 ==&lt;br /&gt;
本模板實現了try...catch...finally的結構&lt;br /&gt;
&lt;br /&gt;
而若用&amp;lt;nowiki&amp;gt;{{#iferror:}}&amp;lt;/nowiki&amp;gt;無法根據錯誤種類來做處不同處理，而若用嵌套解析器，對於部分高開銷操做是不利的，因此提供一個類似程式碼的方式來實現。而考量到[[:en:Template:Try]]模板存在，因此仔不影響使用的情況以TryError命名。&lt;br /&gt;
&lt;br /&gt;
== 參數及使用方法 ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;&amp;lt;可能有錯誤的維基代碼&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch(&amp;lt;錯誤的class&amp;gt;)=&amp;lt;發生對應錯誤的處置&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch=&amp;lt;發生通用錯誤的處置&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=&amp;lt;無論是否錯誤都會顯示的維基代碼&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=== 模板參數 ===&lt;br /&gt;
{{TemplateDataHeader}}&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;可能有腳本錯誤的維基代碼&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;用來處理腳本錯誤的維基代碼&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;{{#expr:0/0}}&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: null,&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: null,&lt;br /&gt;
            &amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;catch&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;代碼出現其他錯誤的錯誤訊息&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;若該代碼出現其他錯誤時才會輸出該錯誤訊息&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;出現不明錯誤&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: null,&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: null,&lt;br /&gt;
            &amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;catch(類型)&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;代碼出現特定類型錯誤的錯誤訊息&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;若該代碼出現某個指定類型的錯誤時才會輸出該錯誤訊息，而類型應該在括號裡指定&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;出現Lua腳本錯誤&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: null,&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: null,&lt;br /&gt;
            &amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;finally&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;不論代碼是否有錯都一定會出現的訊息&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;若該代碼不論是否有錯都一定會出現的內容&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;內容已除錯&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: null,&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: null,&lt;br /&gt;
            &amp;quot;required&amp;quot;: false&lt;br /&gt;
		}&lt;br /&gt;
    },&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;本模板用來輸出錯誤訊息到標準輸出，實現了try...catch...finally的結構&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 範例 ==&lt;br /&gt;
*無錯誤的維基代碼搭配try...catch：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;無錯誤的維基代碼&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{TryError&lt;br /&gt;
|無錯誤的維基代碼&lt;br /&gt;
|catch=&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*移除有錯誤的維基代碼：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|這些{{#expr:0/0}}有錯誤&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|catch={{{no error}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|這些{{#expr:0/0}}有錯誤&lt;br /&gt;
|catch={{{no error}}}&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*有錯誤的維基代碼：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
----&lt;br /&gt;
*有錯誤的維基代碼搭配try...catch：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
|catch=&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*try...catch...finally&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}{{User 超電磁炮|level=1/0|name=零除錯誤|call=除錯}}{{Topic:Xo1mzbojtxmiusgl}}{{模板1}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch=發生{{{message}}}錯誤！&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}{{User 超電磁炮|level=1/0|name=零除錯誤|call=除錯}}{{Topic:Xo1mzbojtxmiusgl}}{{模板1}}&lt;br /&gt;
|catch=發生{{{message}}}錯誤！&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*try並catch 「scribunto-error」錯誤和一般catch：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch(scribunto-error)=發生{{{message}}}錯誤！&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch=發生{{{message}}}錯誤！&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
|catch(scribunto-error)=發生{{{message}}}錯誤！&lt;br /&gt;
|catch=發生{{{message}}}錯誤！&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*try並提供空的一般catch：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |catch=&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
|catch=&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*try並throw：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch(scribunto-error)={{{throw}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
|catch(scribunto-error)={{{throw}}}&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*try並throw其他錯誤：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch(scribunto-error)={{參數|throw|foo(throw其他錯誤)}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
|catch(scribunto-error)={{參數|throw|foo(throw其他錯誤)}}&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*巢狀try...catch：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}{{TryError|{{#expr:0/0}}|catch={{參數|throw|foo(throw其他錯誤)}} }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch(foo)=接到foo錯誤&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}{{TryError|{{#expr:0/0}}|catch={{參數|throw|foo(throw其他錯誤)}} }}&lt;br /&gt;
|catch(foo)=接到foo錯誤&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
*未能提供匹配的錯誤catch：&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;{{#expr:0/0}}{{link-wd|Q0/0}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |&amp;lt;nowiki&amp;gt;catch(foo)=接到foo錯誤&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |finally=結束&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出：&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|{{#expr:0/0}}{{link-wd|Q0/0}}&lt;br /&gt;
|catch(foo)=接到foo錯誤&lt;br /&gt;
|finally=結束&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 技術限制 ==&lt;br /&gt;
與#iferror一樣，本模板無法處理來自擴展標籤（如[[Help:数学公式|&amp;lt;nowiki&amp;gt;&amp;lt;math&amp;gt;...&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;]]）的錯誤&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{#iferror:&amp;lt;math&amp;gt;\你好&amp;lt;/math&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出&lt;br /&gt;
:::{{#iferror:&amp;lt;math&amp;gt;\你好&amp;lt;/math&amp;gt;}}&lt;br /&gt;
----&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{TryError&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|&amp;lt;math&amp;gt;\你好&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|catch={{{no error}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::輸出&lt;br /&gt;
:::{{TryError&lt;br /&gt;
|&amp;lt;math&amp;gt;\你好&amp;lt;/math&amp;gt;&lt;br /&gt;
|catch={{{no error}}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 注意事项 ==&lt;br /&gt;
&lt;br /&gt;
== 模板编辑说明 ==&lt;br /&gt;
&lt;br /&gt;
== 參見 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&amp;lt;!-- 本行下加入模板的分類 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;D2513850</name></author>
	</entry>
</feed>