'프로그래밍/asp, php'에 해당되는 글 6건
- 2010.05.27 [ASP] Err 객체
- 2009.09.22 ON ERROR RESUME NEXT
- 2009.08.12 [ASP] read/write configuration class (xml version)
- 2009.08.12 [ASP] asp로 xml 파일 저장
- 2009.08.01 [asp] 기본 함수
앞선 포스팅에서 utf-8로 제작된 페이지 오류를 한글로 바꾸는 작업을 실패한후 그냥 ASP에 내장된 Err객체를 쓰기로 했다...
Err 객체는 실행 타임 오류에 대한 정보를 담고 있는데, 오류가 발생한 시점과 사용자에게 오류 메시지를 보내고자 하는 시점이 서로 다르기 때문에 이 객체를 이용하면 없는 오류를 만들 수도 있고 발생한 오류를 무시할 수도 있다.
즉, Err 객체는 오류가 발생했을 때 오류에 대한 정보를 그대로 가지고 있다가 알려주는 객체이다.
Description - 오류를 설명하는 문자 지정
Number - 오류를 나타내는 숫자 값
Source - 오류를 생성한 객체 이름
메소드
Clear - Err객체에서 현재 셋팅을 지움
Raise - 실행 타임 오류를 발생
※ Err 객체를 쓰기위해서는 상단에 On Error Resume Next를 적어줘야 한다.
예제)
On Error Resume Next
If Err.Number > 0 Then
response.write "<strong>에러발생</strong><br />"
response.write "ASP에 지정된 에러번호 : "& Err.Number &"<br />"
response.write "라인 : "& Err.line & "<br />"
response.write "에러 원인 : "& Err.description &"<br />"
response.write "에러를 발생시킨 객체 : "& Err.Source
End If
5 - 프로시저 호출 또는 인수가 잘못되었습니다.
6 - 숫자가 너무 큽니다.
7 - 메모리가 부족합니다.
9 - 첨자 사용이 잘못되었습니다.
10 - 배열이 고정되었거나 일시적으로 잠금 상태입니다.
11 - 0으로 나누었습니다.
13 - 형식이 일치하지 않습니다.
14 - 문자열 공간이 부족합니다.
17 - 요청한 작업을 수행할 수 없습니다.
28 - 스택 공간이 부족합니다.
35 - Sub 또는 Function이 정의되지 않았습니다.
48 - DLL 로드 중 오류가 발생하였습니다.
51 - 내부 오류입니다.
52 - 파일 이름 또는 번호가 잘못되었습니다.
53 - 파일이 없습니다.
54 - 파일 모드가 잘못되었습니다.
55 - 파일이 이미 열려 있습니다.
57 - 장치 입/출력 오류입니다.
58 - 파일이 이미 존재합니다.
61 - 디스크에 여유 공간이 없습니다.
62 - 파일 끝을 넘는 입력(값)입니다.
67 - 파일이 너무 많습니다.
68 - 사용할 수 없는 장치입니다.
70 - 사용 권한이 없습니다.
71 - 디스크가 준비되지 않았습니다.
74 - 다른 드라이브로 이름을 바꿀 수 없습니다.
75 - 경로/파일 액세스 오류입니다.
76 - 경로를 찾을 수 없습니다.
91 - Object 변수가 설정되어 있지 않습니다.
92 - For 루프를 초기화하지 않았습니다.
94 - Null의 사용이 잘못되었습니다.
322 - 필요한 임시 파일을 만들 수 없습니다.
424 - 개체가 필요합니다.
429 - ActiveX 구성 요소는 개체를 만들 수 없습니다.
430 - 클래스가 자동화를 지원하지 않습니다.
432 - 자동화 실행 중 파일 이름이나 클래스 이름을 찾을 수 없습니다.
438 - 개체가 이 속성 또는 메서드를 지원하지 않습니다.
440 - 자동화 오류가 발생하였습니다.
445 - 개체가 이 동작을 지원하지 않습니다.
446 - 개체가 명명된 인수를 지원하지 않습니다.
447 - 개체가 현재의 로케일 설정을 지원하지 않습니다.
448 - 명명된 인수를 찾을 수 없습니다.
449 - 선택적인 인수가 아닙니다.
450 - 인수의 개수나 속성 지정이 잘못되었습니다.
451 - 컬렉션이 아닌 개체입니다.
453 - 지정한 DLL 함수를 찾을 수 없습니다.
455 - 코드 자원 잠금시 오류가 발생하였습니다.
458 - 변수가 VBScript에서 지원하지 않는 자동화 형식을 사용하고 있습니다.
462 - 원격 서버 시스템이 없거나 사용할 수 없습니다.
481 - 그림이 잘못되었습니다.
500 - 변수가 정의되지 않았습니다.
501 - 지정이 잘못되었습니다.
502 - 개체를 스크립트하는 데 잘못되었습니다.
503 - 개체를 초기화하는 데 잘못되었습니다.
504 - 개체를 만드는 데 잘못되었습니다.
505 - 잘못되거나 해당되지 않는 참조입니다.
506 - 클래스가 정의되지 않았습니다.
507 - 예외가 발생하였습니다.
5016 - 정규식 개체가 필요합니다.
5017 - 정규식에 구문 오류가 있습니다.
5018 - 예기치 않은 한정 기호입니다.
5019 - 정규식에 ']'가 필요합니다.
5020 - 정규식에 ')'가 필요합니다.
5021 - 문자 집합의 범위가 틀립니다.
32811 - 요소가 없습니다.
'프로그래밍 > asp, php' 카테고리의 다른 글
ON ERROR RESUME NEXT (0) | 2009.09.22 |
---|---|
[ASP] read/write configuration class (xml version) (0) | 2009.08.12 |
[ASP] asp로 xml 파일 저장 (0) | 2009.08.12 |
[asp] 기본 함수 (0) | 2009.08.01 |
Request.ServerVariables (0) | 2009.07.29 |
이걸 씀으로 모든 에러가 떴을때 에러를 출력하는게 아니고 에러정보를 출력하거나 그냥 출력을 안되게 할수 있다.
하지만 무한반복에 빠져들수 있음으로 남용은 금물.
On Error Resume Next
Response.Write "에러 상세 설명<BR> "
Response.Write Err.Number & " - 에러 개수<BR>"
Response.Write Err.Description & " - 에러 메시지<BR>"
Response.Write Err.Source & " - 에러 출처<BR>"
Response.Write Err.NativeError & " - DB 에러번호<BR>"
Response.Write Err.HelpFile & " - 에러 파일<BR>"
Response.Write Err.HelpContext & " - 에러 Context<BR>"
End If
'프로그래밍 > asp, php' 카테고리의 다른 글
[ASP] Err 객체 (0) | 2010.05.27 |
---|---|
[ASP] read/write configuration class (xml version) (0) | 2009.08.12 |
[ASP] asp로 xml 파일 저장 (0) | 2009.08.12 |
[asp] 기본 함수 (0) | 2009.08.01 |
Request.ServerVariables (0) | 2009.07.29 |
'Option Explicit
Class configs
Private mClassName
Private mConfigRootPath
Private mItems
Private mXmlRootNodeName
Private mConfigName
Private Sub Class_Initialize()
mClassName = "configs class"
mXmlRootNodeName = "configs"
mConfigRootPath = server.mappath("./")
End Sub
Public Sub Load(configname)
Dim xdom
Dim i
mConfigName = configname
Set mItems = Server.CreateObject("scripting.dictionary")
Set xdom = server.CreateObject("microsoft.xmldom")
xdom.load mconfigrootpath & "\" & configname & ".xml"
If xdom.parseerror.errorcode <> 0 Then
Err.raise vbObjectError, mClassName, xdom.parseerror.reason
Else
if xdom.documentelement.nodename = mXmlRootNodeName Then
For i=0 To xdom.documentelement.childnodes.length-1
mItems.add xdom.documentelement.childnodes(i).nodename, xdom.documentelement.childnodes(i).text
Next
Else
Err.raise vbObjectError, mClassName, "Invalid Configuration File"
End If
End If
Set xdom = nothing
End Sub
Public Sub Save()
Dim xdom
Dim i
Set xdom = server.CreateObject("microsoft.xmldom")
xdom.load mconfigrootpath & "\" & mConfigName & ".xml"
If xdom.parseerror.errorcode <> 0 Then
Err.raise vbObjectError, mClassName, xdom.parseerror.reason
Else
if xdom.documentelement.nodename = mXmlRootNodeName Then
For i= xdom.documentelement.childnodes.length-1 To 0 Step -1
xdom.documentelement.removechild(xdom.documentelement.childnodes(i))
Next
Dim keys, items, newelement
keys = mItems.keys()
items = mItems.items()
For i=0 To mItems.count-1
Set newelement = xdom.createElement(keys(i))
newelement.text = items(i)
xdom.documentelement.appendchild newelement
Set newelement = Nothing
Next
xdom.save mconfigrootpath & "\" & mConfigName & ".xml"
Else
Err.raise vbObjectError, mClassName, "Invalid Configuration File"
End If
End If
Set xdom = nothing
Set mItems = Nothing
End Sub
Public Sub Add(key, value)
mItems.Add key, value
End Sub
Public Function Item(key)
Item = mItems.Item(key)
End Function
End Class
'example.asp
'
'Dim a
'Set a = new configs
'a.load "example"
'response.write a.item("test1")
'a.add "test4", "33>3"
'a.save
'Set a = nothing
'example.xml
'
'<configs><test1>1111</test1><test2>2222</test2><test3>3333</test3></configs>
%>
'프로그래밍 > asp, php' 카테고리의 다른 글
[ASP] Err 객체 (0) | 2010.05.27 |
---|---|
ON ERROR RESUME NEXT (0) | 2009.09.22 |
[ASP] asp로 xml 파일 저장 (0) | 2009.08.12 |
[asp] 기본 함수 (0) | 2009.08.01 |
Request.ServerVariables (0) | 2009.07.29 |
AddContac.html
<head>
<title>연락처 정보</title>
</head>
<body>
<form action="processAdd.asp" method="post">
<h3>연락처 정보를 입력하세요</h3>
이름 : <input type="text" id="firstName" name="firstName"><br>
성 : <input type="text" id="lastName" name="lastName"><br>
주소1 : <input type="text" id="address1" name="address1"><br>
주소2 : <input type="text" id="address2" name="address2"><br>
전화번호 : <input type="text" id="phone" name="phone"><br>
이메일주소 : <input type="text" id="email" name="email"><br>
<input type="submit" id="btnSub" name="btnSub" value="Submit"><br>
</form>
</body>
</html>
processAdd.asp
'-----------------------------------------------------------
'"addNewContacttoXML" 함수는 두개의 파라미터를 받아들인다
'strXMLFilePath : XML 파일이 저장될 물리적 경로
'strFileName : 저장될 XML 파일의 이름
'-----------------------------------------------------------
Function addNewContacttoXML(strXMLFilePath, strFileName)
'지역 변수 선언
Dim objDOM
Dim objRoot
Dim objRecord
Dim objField
Dim objFieldValue
Dim objattID
Dim objattTabOrder
Dim objPI
Dim blnFileExists
Dim x
'XMLDOM 인스턴스 생성
Set objDOM = server.CreateObject("Msxml2.DOMDocument.4.0")
objDOM.preserveWhiteSpace = True
'XMLDOM 개체의 Load 메서드 호출
'Load 메서드는 파일이 로드됐는지 아닌지를 알려주는 불린 값 반환
'만일 파일이 존재하여 도링했으면 true,그렇지 않으면 false 반환
blnFileExists = objDOM.Load(strXMLFilePath & "\" & strFileName)
'파일이 성공적으로 로딩됐는지 체크
if blnFileExists = True Then
'로딩된 파일의 최상위 요소를 objRoot 개체에 셋팅
Set objRoot = objDOM.documentElement
Else
'최상위 요소를 만든 후 XML문서에 추가
Set objRoot = objDOM.createElement("rolodex")
objDOM.appendChild objRoot
End if
'새로운 레코드를 위한 새로운 컨테이너 요소 생성
Set objRecord = objDOM.createElement("contact")
objRoot.appendChild objRecord
'Request 개체에 폼 컬렉션 반복
For x = 1 To Request.Form.Count
'폼요소중 btn이란 이름의 요소가 있으면 XML문서에 추가되지 않도록
If instr(1,Request.Form.Key(x),"btn")=0 Then
'"field" 요소 생성
Set objField = objDOM.createElement("field")
'"id" 속성 생성
Set objattID = objDOM.createAttribute("id")
'현재 폼 필드 이름과 id속성을 같도록 함
objattID.Text = Request.Form.Key(x)
'setAttribute 메서드는 field 요소에 id 속성을 추가시킴
objField.setAttributeNode objattID
'또 다른 속성 "taborder" 생성. 요소들의 순서와 관련
Set objattTabOrder = objDOM.createAttribute("taborder")
'taborder 속성의 값 설정
objattTabOrder.Text = x
'field 요소에 taborder 속성 추가
objField.setAttributeNode objattTabOrder
'새로운 요소 "field_value" 생성
Set objFieldValue = objDOM.createElement("field_value")
'field_value 요소의 값에 현재 폼 컬렉션의 필드의 값 설정
objFieldValue.Text = Request.Form(x)
'field 요소를 새로운 레코드 컨테이너 contact 의 자식으로 추가
objRecord.appendChild objField
'field_value 요소를 field 요소의 자식으로 추가
objField.appendChild objFieldValue
End If
Next
'파일을 로딩하는데 실패했다면 XML 새로운 문서를 만들고
'XML processing instruction을 삽입해야 함
if blnFileExists = False then
'xml processing instruction 생성
Set objPI = objDOM.createProcessingInstruction("xml","version='1.0'")
'XML문서에 processing instruction 추가
objDOM.insertBefore objPI, objDOM.childNodes(0)
End if
'XML문서 저장
objDOM.save strXMLFilePath & "\" & strFileName
'모든 객체 참조 반환
Set objDOM = nothing
Set objRoot = nothing
Set objRecord = nothing
Set objField = nothing
Set objFieldValue = nothing
Set objattID = nothing
Set objattTabOrder = nothing
Set objPI = nothing
End Function
'에러 발생시 계속 진행
On Error Resume Next
'addNewContacttoXML 함수 호출
addNewContacttoXML "XML문서를 만들 곳의 경로","xml파일 이름"
'에러 발생시 사용자에게 알려 주고, 그렇지 않으면 성공했음을 알려줌
If err.number <> 0 then
Response.write("처리 도중 에러 발생!")
Else
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert("성공적으로 처리 됐습니다");
location.href="asp파일 경로";
//-->
</SCRIPT>
<%End if%>
[출처] ASP를 이용한 XML문서 만들기|작성자 밤맛만쥬
'프로그래밍 > asp, php' 카테고리의 다른 글
[ASP] Err 객체 (0) | 2010.05.27 |
---|---|
ON ERROR RESUME NEXT (0) | 2009.09.22 |
[ASP] read/write configuration class (xml version) (0) | 2009.08.12 |
[asp] 기본 함수 (0) | 2009.08.01 |
Request.ServerVariables (0) | 2009.07.29 |
FormatCurrency
- 시스템 제어판에 정의된 통화 기호를 사용하여 서식화된 값을 반환
예) FormatCurrency(10000) = \100,000
예) FormatCurrency(10000,5) = \100,000.00000
FormatDateTime
- 날짜와 시간으로 서식화된 값을 반환
예) FormatDateTime(Now,0) = 2000-11-11 오후 11:11:11
예) FormatDateTime(Now,1) = 2000년 11월 11일 수요일
예) FormatDateTime(Now,2) = 2000-11-11
예) FormatDateTime(Now,3) = 오후 11:11:11
예) FormatDateTime(Now,4) = 11:11
FormatNumber
- 숫자로 서식화된 값을 반환
예) FormatNumber(10000) = 100,000.00
예) FormatNumber(10000,5) = 100,000.00000
FormatPercent
- 뒤에 %가 붙는 백분율로 서식화된 값을 반환
예) FormatPercent(0.7234) = 0.72
예) FormatPercent(0.7234,5) = 0.72340
Join
- 배열이 포함되어 있는 여러 하위 문자열을 결합하여 만든 문자열 반환
보기) MyLen(0) = "하'
MyLen(1) = "대'
MyLen(2) = "현'
예) Join(MyLen) = 하대현
예) Join(MyLen,"--") = 하--대--현
LCase
- 소문자 반환
예) LCase(Show Me The Money) = show me the money
예) LCase(abcDEFGhijk) = abcdefghijk
UCase
- 대문자 반환
예) LCase(Show Me The Money) = SHOW ME THE MONEY
예) LCase(abcDEFGhijk) = ABCDEFGHIJK
String
- 지정된 길이의 반복되는 문자열을 반환
예) String(10,"*") = **********
예) String(3,"A") = AAA
나머지도 업데이트 예정
'프로그래밍 > asp, php' 카테고리의 다른 글
[ASP] Err 객체 (0) | 2010.05.27 |
---|---|
ON ERROR RESUME NEXT (0) | 2009.09.22 |
[ASP] read/write configuration class (xml version) (0) | 2009.08.12 |
[ASP] asp로 xml 파일 저장 (0) | 2009.08.12 |
Request.ServerVariables (0) | 2009.07.29 |