簡単な質問です。 if文の条件として例外を使用することは可能ですか?私は "yy/mm/dd"で書かれなければならない日付形式を検証しています。したがって、ユーザーが "mm/dd/yy"または "dd/mm/yy"形式で日付を入力すると、エラーメッセージが表示されます。if文の条件として例外を使用できますか?
は、ここに私のコードです:
String message = null;
if (action.equalsIgnoreCase("list")) {
try {
List<Employee> emp = new ArrayList<Employee>();
GetAllEmployee get = new GetAllEmployee();
SrchName getFName = new SrchName();
String fname = request.getParameter("fname");
String lname = request.getParameter("lname");
String email = request.getParameter("email");
String sDate = request.getParameter("sDate");
String eDate = request.getParameter("eDate");
String search = request.getParameter("search");
if (request.getParameter("page") != null)
page = Integer.parseInt(request.getParameter("page"));
else {
page = 1;
}
startRow = (recordsPerPage * (page - 1) + 1);
endRow = startRow + 9;
if (request.getParameter("search") == null) {
emp = get.list(startRow, endRow);
noOfRecords = get.getNoOfRecords();
message = Integer.toString(noOfRecords) + " results";
} else {
if (request.getParameter("sDate") != null
|| request.getParameter("eDate") != null) {
if (!Validator.isValidDate(request
.getParameter("sDate"))
|| !Validator.isValidDate(request
.getParameter("eDate"))
|| !Validator.isValidDate(
request.getParameter("sDate"),
request.getParameter("eDate"))) {
} else if (!Validator.isValidDateFormat(request
.getParameter("sDate"))
|| !Validator.isValidDateFormat(request
.getParameter("eDate"))) {
}
}
if (sDate != null) {
request.setAttribute("sDate", "&start=");
}
if (eDate != null) {
request.setAttribute("eDate", "&end=");
}
emp = getFName.srchFName(startRow, endRow, fname, lname,
email, sDate, eDate);
noOfRecords = getFName.getNoOfRecords();
message = "Enter HIRE DATE in valid form";
if(noOfRecords == 0){
message = "There is no search results for the specified conditions";
}else{
if(noOfRecords == 1){
message = Integer.toString(noOfRecords) + " result";
}else{
message = Integer.toString(noOfRecords) + " results";
}
}
}
request.setAttribute("fname", fname);
request.setAttribute("lname", lname);
request.setAttribute("email", email);
request.setAttribute("sDate", sDate);
request.setAttribute("eDate", eDate);
request.setAttribute("search", search);
request.setAttribute("emp", emp);
request.setAttribute("message", message);
request.getRequestDispatcher("/EmployeeList.jsp").forward(
request, response);
} catch (SQLException e) {
throw new ServletException("Cannot obtain Employees from DB", e);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
が、私は例外をcatch節を入れてみましたが、それだけでその句を削除するために示唆され、エラーが返されます。
具体的な質問が何であるか、何をしようとしているのか、起こっているのか、何が起こるのかをより明確に説明する必要があります。 – pvg
'try'ステートメント内のコードブロックが' SQLException'または 'ClassNotFoundException'をスローしない場合は、IDEが削除を指示します。なぜコードを 'try'-' catch'ブロックに入れましたか? –
例外を介して日付文字列を検証しようとしているとします。 if文をチェックしたい行を記述してください。しかし、通常は区別するために例外を使いません。正規表現やヘルパークラスなど、入力を検証するための方法がたくさんあります。 – LynxZh