2010-06-21 4 views
0

이 나는군요 :JSP에서 '유형 예상'오류가 발생합니다. JSP 파일에서

Type expected (found 'try' instead) 

오류 연결을 설정하는 동안. 이것은 두 가지 질문으로 나를 남겨 둡니다. 여기서 뭐가 잘못 됐어? 그리고 더 일반적으로 JSP에서 'Type Expected'오류를 일으키는 원인은 무엇입니까? Google 검색에서 오류에 대한 설명을 찾을 수 없기 때문에 여기에 코드가 있습니다.

<%! 
class ThisPage extends ModernPage 
{ 
    try{ 
     Connection con=null; 
     PreparedStatement pstmt=null; 
     con = HomeInterfaceHelper.getInstance().getConnection(); 
     pstmt = con.prepareStatement("sql goes here"); 
     ResultSet rs = pstmt.executeQuery(); 
     con.close(); 
    } 
    catch (Exception e){ 
     System.out.println("sql error: exception thrown"); 
    } 
} 
%> 

편집이

+3

어딘가에 구문 오류가있는 것 같습니다. '시도 '전에 몇 줄에 붙여 넣을 수 있습니까? – ZoogieZork

+0

소리가 누락 된 ';' 시도하기 전에 줄에 나와 ... – Tommy

+0

제안 주셔서 감사합니다. 그러나 포함하는 것 외에도 이것은 전체 파일입니다. 그것이 문제일까요? – Holtorf

답변

2

보통은 클래스 선언 안에 try .. catch 블록을 추가 할 수 없습니다 더 많은 코드를 보여, 당신은 적어도 클래스의 생성자 또는 static { } 블록과 같은 방법 안에 넣어해야합니다. JSP의 구문은 다르지만이 같은 시도했다면 나도 몰라

: 당신이 Java Language Specification 보면

class ThisPage extends ModernPage { 
    Connection con; 
    PreparedStatement pstmt; 


    ThisPage() { 
    try{ 
     con=null; 
     pstmt=null; 
     con = HomeInterfaceHelper.getInstance().getConnection(); 
     pstmt = con.prepareStatement("sql goes here"); 
     ResultSet rs = pstmt.executeQuery(); 
     con.close(); 
    } 
    catch (Exception e){ 
     System.out.println("sql error: exception thrown"); 
    } 
    } 
} 

당신이 TryStatement는 클래스 선언의 내부에 삽입 할 수없는 것을 볼 수 있습니다 ..

+0

그건 내가 필요한 것 뿐이었다. 고마워. – Holtorf

+0

이 대안은 초기화 블록입니다. 'try-catch' 블록을 둘러싼 또 다른'{'와'}. – BalusC

관련 문제