Javascript異常処理メカニズムの詳細
16681 ワード
ES 3の前にjsコードが実行される過程で、エラーが発生するとjsコード全体が実行を停止し、明らかなコードは非常に丈夫ではありません.
JavaやC#などの高度な言語では、アプリケーション全体を停止することなく、発生した例外を処理する例外処理メカニズムが提供されています.
ES 3から、jsも同様の異常処理メカニズムを提供し、jsコードをより丈夫にし、タイムリーに実行する過程で異常が発生し、プログラムに一部の異常回復能力を持たせることができる.
一、Javascriptの異常捕獲メカニズム
1.1基本的なtry…catch文
ES 3はtry-catch文を導入し始め,JavaScriptで例外を処理する標準的な方式である.
構文: Java同時発注スレッドプールと原子カウント
lijingyao8206
Javaカウント ThreadPool まとめて発注する. JAvaスレッドプール
JAvaプログラミング思想抽象クラスとインタフェース
ユリはお茶じゃない
java 抽象クラス インタフェース
[不動産とビッグデータ]不動産データマイニングシステム
comsci
データ・マイニング
配列キューの概要
刃を浴びて喜ぶ.
アレイキュー
Oracleストレージ・プロシージャでコンパイルできない解決策
IT独行者
oracle きおくてつづき
システムの再インストール後oracleリカバリ
文強chu
oracle
python学習二(いくつかの基礎文法)
みかん
pthon 基礎文法
svn共通コマンド
aichenglong
SVN バージョンのロールバック
アルファベットで分類:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号
JavaやC#などの高度な言語では、アプリケーション全体を停止することなく、発生した例外を処理する例外処理メカニズムが提供されています.
ES 3から、jsも同様の異常処理メカニズムを提供し、jsコードをより丈夫にし、タイムリーに実行する過程で異常が発生し、プログラムに一部の異常回復能力を持たせることができる.
一、Javascriptの異常捕獲メカニズム
1.1基本的なtry…catch文
ES 3はtry-catch文を導入し始め,JavaScriptで例外を処理する標準的な方式である.
構文:
try{
//異常発生可能コード}catch(error){
//エラー発生実行コード}
次のコードを見てください.
<span class="hljs-keyword">try</span>{
console.log(b);
console.log(<span class="hljs-string">" , "</span>)
}<span class="hljs-keyword">catch</span>(error){
console.log(<span class="hljs-string">" "</span>)
}
console.log(<span class="hljs-string">" try catch "</span>)
<<span class="hljs-regexp">/script></span></code></pre>
<p></p>
<blockquote>
<p> :</p>
</blockquote>
<ol>
<li> try 。try , , catch 。</li>
<li> try , try 。 <code>console.log(b);</code> , catch 。 <code>console.log(" , ")</code> </li>
<li> catch ,js , catch catch 。 error , message , 。</li>
<li>catch , , 。</li>
</ol>
<h2 id="12-finally ">1.2 finally </h2>
<blockquote>
<p> try…catch ,try , catch 。</p>
<p>Javascript , finally : try , finally 。</p>
<p> :try finally ,try , catch ,catch finally 。</p>
<p><strong> :</strong></p>
<p><code>try{</code></p>
<p><code>}catch(error){</code></p>
<p><code>}finally{</code></p>
<p><code>}</code></p>
</blockquote>
<pre class="prettyprint"><code class="language-javascript hljs "><script>
<span class="hljs-keyword">try</span>{
console.log(b);
console.log(<span class="hljs-string">" , "</span>)
}<span class="hljs-keyword">catch</span>(error){
console.log(<span class="hljs-string">" "</span>)
}<span class="hljs-keyword">finally</span> {
console.log(<span class="hljs-string">" , "</span>)
}
console.log(<span class="hljs-string">" try catch "</span>)
<<span class="hljs-regexp">/script></span></code></pre>
<p></p>
<blockquote>
<p> finally 。</p>
</blockquote>
<p> :</p>
<ol>
<li> js , finally , catch 。 。</li>
<li> catch , , finally , 。</li>
<li> , , catch 。</li>
</ol>
<pre class="prettyprint"><code class="language-javascript hljs "><script>
<span class="hljs-keyword">try</span>{
console.log(b);
console.log(<span class="hljs-string">" , "</span>)
}<span class="hljs-keyword">finally</span> {
console.log(<span class="hljs-string">" , "</span>)
}
console.log(<span class="hljs-string">" try catch "</span>)
<<span class="hljs-regexp">/script></span></code></pre>
<p></p>
<h2 id="13-js ">1.3 js </h2>
<blockquote>
<p> 。 , , 。js 7 :</p>
</blockquote>
<ul>
<li>Error ‰</li>
<li>EvalError </li>
<li>RangeError ‰ </li>
<li>ReferenceError ‰ </li>
<li>SyntaxError ‰ </li>
<li>TypeError ‰ </li>
<li>URIError</li>
</ul>
<p> :</p>
<ol>
<li>Error , 。</li>
<li>EvalError eval() </li>
<li>TypeError JavaScript , , , </li>
<li> , , 。 。 , 。</li>
</ol>
<pre class="prettyprint"><code class="language-javascript hljs "><span class="hljs-keyword">try</span> {
someFunction();
} <span class="hljs-keyword">catch</span> (error){
<span class="hljs-keyword">if</span> (error <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">TypeError</span>){
<span class="hljs-comment">// ૌ </span>
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (error <span class="hljs-keyword">instanceof</span> <span class="hljs-built_in">ReferenceError</span>){
<span class="hljs-comment">// </span>
} <span class="hljs-keyword">else</span> {
<span class="hljs-comment">// </span>
}
}</code></pre>
<h2 id="14- trycatch">1.4 try…catch</h2>
<p> try-catch , , 。 。</p>
<p> try-catch 。 JavaScript , 。 , try-catch , , 。</p>
<p> , try-catch 。 , , , , 。 , try-catch 。 try…catch 。</p>
<h1 id=" throw "> 、throw </h1>
<h2 id="21- js ">2.1 js </h2>
<blockquote>
<p> , , (javascript ) , , try…catch 。</p>
<p> 。</p>
<p> throw 。</p>
</blockquote>
<pre class="prettyprint"><code class="language-javascript hljs "><script>
<span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(<span class="hljs-string">" "</span>);
console.log(<span class="hljs-string">" "</span>)
<<span class="hljs-regexp">/script></span></code></pre>
<p></p>
<blockquote>
<p> :</p>
</blockquote>
<ol>
<li>thow 。 , 。</li>
<li> , , , 。 , try…catch 。</li>
<li> , 。</li>
<li> 。<code>throw new SyntaxError(" ...");</code></li>
</ol>
<blockquote>
<p> :</p>
</blockquote>
<pre class="prettyprint"><code class="language-javascript hljs "><script>
<span class="hljs-comment">/* , 。*/</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">foo</span><span class="hljs-params">(num)</span> {</span>
<span class="hljs-keyword">if</span>(<span class="hljs-keyword">typeof</span> num == <span class="hljs-string">"number"</span>){
<span class="hljs-keyword">return</span> num * num;
}<span class="hljs-keyword">else</span>{
<span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">TypeError</span>(<span class="hljs-string">" , ..."</span>)
}
}
console.log(foo(<span class="hljs-number">33</span>))
console.log(foo(<span class="hljs-string">"abc"</span>))
<<span class="hljs-regexp">/script></span></code></pre>
<p></p>
<h2 id="22- ">2.2 </h2>
<blockquote>
<p> js , , 。</p>
<p> , 。 Error 。</p>
</blockquote>
<pre class="prettyprint"><code class="language-javascript hljs "><script>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">MyError</span><span class="hljs-params">(message)</span> {</span>
<span class="hljs-keyword">this</span>.message = <span class="hljs-string">" : "</span>
<span class="hljs-keyword">this</span>.name = <span class="hljs-string">" "</span>;
}
MyError.prototype = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>();
<span class="hljs-keyword">try</span> {
<span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> MyError(<span class="hljs-string">" : "</span>)
}<span class="hljs-keyword">catch</span> (error){
console.log(error.message)
}
<<span class="hljs-regexp">/script></span></code></pre>
<p></p>
</div>
</div>
</div>
</div>
</div>
<!--PC WAP -->
<div id="SOHUCS" sid="1274507662662320128"></div>
<script type="text/javascript" src="/views/front/js/chanyan.js">
興味があるかもしれませんlijingyao8206
Javaカウント ThreadPool まとめて発注する. JAvaスレッドプール
ユリはお茶じゃない
java 抽象クラス インタフェース
comsci
データ・マイニング
刃を浴びて喜ぶ.
アレイキュー
IT独行者
oracle きおくてつづき
文強chu
oracle
みかん
pthon 基礎文法
aichenglong
SVN バージョンのロールバック
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
トップページ -
私たちについて -
構内検索 -
Sitemap -
権利侵害苦情
著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
京ICP備09083238号