推奨:ASPのFSOの魔法の特徴を深く理解するASPでは、FSOはファイルシステムオブジェクトであるファイルシステムオブジェクトを意味します。操作するコンピューターファイルシステムとは、Webサーバーにあることを指します。したがって、これに適切な権限があることを確認してください。理想的には、独自のマシンを使用できます
7.1.2セマンティックまたはランタイムエラー構文エラーの発見と取り扱いは迷惑ですが、プログラミングでは、セマンティックエラーまたはランタイムエラーなど、非常にエキサイティングな他のタイプのエラーが発生します。このタイプのエラーは、スクリプトコードまたはその他のプログラムを実行するときにのみ発見されます。言い換えれば、完全かつ有効なコードがインタープリターまたはコンパイラによって解釈またはコンパイルされており、実行中にエラーが発生しました。実行時エラーパスという用語は、セマンティックエラーの結果を指します。つまり、そのようなエラーはコードのセマンティクスに存在し、コードが実行されると表示されます。
この違いは、プログラムコンパイラまたはインタープリターが、プログラムコードを処理する前に内部コードの説明を確立する必要があるという事実に由来します。各構造が含まれているものを示すために、複数の構造の開始と終了の一致を伴い、各文を分析して、文を実行する方法を知るためです。たとえば、もしそうなら…else ... end ext end structure、インタープリターまたはコンパイラの最初のステップは、当時の部分にあるステートメントと他の部分にあるステートを分析することです。このステップの目的は、構造内の条件をテストした後に実行するブランチを決定することです。
コンパイラ(Visual BasicやCなどのプログラミング言語で見られるものなど)とインタープリター(VBScriptやJScriptなどのスクリプト言語用の通訳など)の本当の違いは、コンパイラがプログラムコードを実行しようとせず、ソースプログラムの2つの前処理の後、バイナリ命令またはシンボリックなコードと、象徴的なファイルまたは.Dllファイルを形成します。インタープリターにはコードのファイルは含まれていませんが、実行時に段階的に実行されます。
1.実行が停止するエラー
プログラムにセマンティックエラーが含まれている場合、通常、実行時にプロンプトを取得できます。運が良ければ、エラーが発生したときにプログラムが停止するため、エラーがどこにあるかを簡単に確認できます。たとえば、次のプログラムでは、6つの要素を持つ配列を定義します。
<%
dim arralues(5) '0から5にインデックス付けされた6つの要素を保持する
arrvalues(6)= whooops、エラーが発生しました
%>
subscriptで要素値を6に読み取ったり設定したりしようとすると、図7-7に示すように、ランタイムエラーを取得できます。
図7-7プログラム実行結果6
ここのエラータイプは、構文エラーではなく、ランタイム(セマンティクスに相当)エラーであることに注意してください。エラーメッセージには、エラーがある行数とエラーの説明が表示されます。これにより、対応するエラーをより簡単に見つけることができます。しかし、これは簡単な例です。より複雑なプログラムコードでは、このエラーがいくつかの値を横断して配列に追加するプログラムで発生する場合があります。以下に示すように:
<%
6つの要素を保持するための薄暗い矢印(5) '
intloop = 0からintlistcount 'いくつかのリストのアイテムの数
arrvalues(intloop)= request.form(selectedItems)(intlistcount)
次
%>
この場合、リストエントリが多すぎるか、配列のインデックスが不十分である可能性があります。コード要件によると、どのエラーがあるかを判断でき、配列サイズを増やすことでこのエラーを解決できます。
<%
dim arralues(10) '11個の要素を保持します
intloop = 0の場合はintlistcount 'アイテムの数intいくつかのリスト
arrvalues(intloop)= request.form(selectedItems)(intlistcount)
次
%>
または、それに応じてループパラメーターを設定して、エラー処理を解決します。
<%
6つの要素を保持するための薄暗い矢印(5) '
intarraymax = intlistCount
intarraymax> 5の場合、intarraymax = 5
intloop = 0の場合はintarraymax '最初の6つのアイテムのみを追加します
arrvalues(intloop)= request.form(selectedItems)(intlistcount)
次
%>
他の多くのランタイムエラーは、いくつかのコンポーネントやオブジェクトのインスタンス化など、Webページの実行を停止する可能性があります。これは、ProgIDエラーがあるため、またはコンポーネントが正しくインストールされていないためです。これらの場合、結果は常にActiveXがオブジェクトエラーメッセージを作成できないため、server.createObjectメソッドへの呼び出しの行番号が続きます。
2。エラー結果の発生エラー
上記のように、プログラムコードが停止するランタイムエラーが発生した場合、幸運になるかもしれません。しかし、別の状況は、プログラムが何も起こらなかったかのようにうまく実行できることであり、最終的に誤った結果を生み出すことです。これは、何か間違ったことを知っていないので、発見して解決するのが最も難しい間違いです。たとえば、ユーザーの誕生日を日付値として取得し、日付要素を個別に表示するWebページがあるとします(データベースに3つのエントリとして追加できます)。
<%
'リクエストから値を取得して表示します
datbirthdate = request.form(birthdate)
response.write入力した値は:&datbirthdate&<p>
'個々の日付要素を取得します
intday = day(datbirthdate)
intmonth = month(datbirthdate)
intyear = year(datbirthdate)
'そしてそれらを表示します
Response.Write Day:&CSTR(intday)&<br>
Response.Write Month:&CSTR(intmonth)&<br>
Response.write Year:&cstr(intyear)&<br>
%>
図7-8は結果であり、American Date Style Month/Year/Yearに表示されます。
図7-8誕生日を示す画面
ただし、違法な日付を入力したり、入力テキストボックスを空にしたりすると、図7-9に示すように、実行時エラーが発生します。
図7-9エラープロンプト画面
(1)JScriptの専門家ではない場合
エラーが発生している理由をすばやく発見できるため、これはエラーを探すときに大きな問題ではありません。 Webページが実行を停止するという事実は、エラーを追跡するのに役立ちます。ただし、予期しないエラーが発生する可能性があります。たとえば、JScriptのプログラムコードを書き換えます。私はJScriptの専門家ではないため、いくつかの小さなエラーが表示されます。
<%
//リクエストから値を取得して表示します
var datbirthdate = new date(request.form(birthdate));
Response.write(入力した値は:datbirthdate <p>);
//個々の日付要素を取得します
intday = datbirthdate.getDay();
intmonth = datbirthdate.getMonth();
intyear = datbirthdate.getyear();
//それらを表示します
Response.write(day:intday.tostring()<br>);
respons.write(月:intmonth.tostring()&
共有:ASPを使用してMP3トラック情報の完全な操作戦略を実装するMP3のID3タグについて簡単に説明しましょう。これは、主にこのことを操作するために使用されるためです。 Mp3は、最初に今日見たものではありませんでした。歌手、時代、コレクションなどがあり、プライベートであるか著作権であるかを示すためにはい/いいえなどのいくつかの簡単なパラメーターのみがあります。