Error handling module. More...
Data Types | |
| interface | dumperror |
| Procedure reference specification. Made as an external function to be replaceable in the future. More... | |
Functions/Subroutines | |
| integer function, public | errorcode () |
| subroutine, public | geterrormessage (msg) |
| subroutine, public | storeerror (number, where, err, cause_c, cause_i) |
Variables | |
| integer, parameter, public | dc_noerr = 0 |
| Error storage variables | |
| integer, parameter, public | gt_efake = -100 |
| Positive error numbers are reserved for libc system error messages. Due to high system dependency and very large values used, it is difficult to reserve empty space. | |
| integer, parameter, public | gt_enomoredims = -101 |
| -101 or less: Data structure errors | |
| integer, parameter, public | gt_edimnodim = -102 |
| integer, parameter, public | gt_edimmultidim = -103 |
| integer, parameter, public | gt_edimotherdim = -104 |
| integer, parameter, public | gt_ebaddimname = -105 |
| integer, parameter, public | gt_enotvar = -106 |
| integer, parameter, public | gt_enomem = -107 |
| integer, parameter, public | gt_eotherfile = -108 |
| integer, parameter, public | gt_eargsizemismatch = -109 |
| integer, parameter, public | gt_enomatchdim = -110 |
| integer, parameter, public | gt_elimited = -111 |
| integer, parameter, public | gt_ebadvar = -112 |
| integer, parameter, public | gt_echarshort = -113 |
| integer, parameter, public | gt_enounlimitdim = -114 |
| integer, parameter, public | gt_ebadattrname = -115 |
| integer, parameter, public | gt_ebadhistory = -116 |
| integer, parameter, public | gt_ebadallocatesize = -117 |
| integer, parameter, public | gt_erankmismatch = -118 |
| integer, parameter, public | gt_enoturl = -119 |
| integer, parameter, public | gt_ebadgt4commagraphy = -120 |
| integer, parameter, public | gr_enotgr = -300 |
| -300 or less: GrADS I/O errors | |
| integer, parameter, public | dc_enotinit = -400 |
| -400 or less: DC utilities errors | |
| integer, parameter, public | dc_ealreadyinit = -401 |
| integer, parameter, public | dc_ebadunit = -402 |
| integer, parameter, public | dc_ebadcaltype = -403 |
| integer, parameter, public | dc_ebadtimezone = -404 |
| integer, parameter, public | dc_efilenameempty = -405 |
| integer, parameter, public | dc_ebadfileopmode = -406 |
| integer, parameter, public | dc_enounitnum = -407 |
| integer, parameter, public | dc_enofileexist = -408 |
| integer, parameter, public | dc_enofileread = -409 |
| integer, parameter, public | dc_enofilewrite = -410 |
| integer, parameter, public | dc_enegative = -411 |
| integer, parameter, public | dc_earglack = -412 |
| integer, parameter, public | dc_enoassoc = -413 |
| integer, parameter, public | dc_enoentry = -414 |
| integer, parameter, public | dc_enodimtime = -415 |
| integer, parameter, public | dc_edimtime = -416 |
| integer, parameter, public | dc_etoolargetime = -417 |
| integer, parameter, public | dc_ebaddate = -418 |
| integer, parameter, public | dc_einconsistcaldate = -419 |
| integer, parameter, public | hst_enotindefine = -500 |
| -500 or less: Data I/O layer errors | |
| integer, parameter, public | hst_eindefine = -501 |
| integer, parameter, public | hst_eintfile = -502 |
| integer, parameter, public | hst_ebadname = -503 |
| integer, parameter, public | hst_enottermgthist = -504 |
| integer, parameter, public | hst_enodependtime = -505 |
| integer, parameter, public | hst_ebadvarname = -506 |
| integer, parameter, public | hst_enotimedim = -507 |
| integer, parameter, public | hst_enoaxisname = -508 |
| integer, parameter, public | hst_evarinuse = -509 |
| integer, parameter, public | hst_ealreadyregvarfix = -510 |
| integer, parameter, public | hst_ebadslice = -511 |
| integer, parameter, public | hst_ebadnewfileint = -512 |
| integer, parameter, public | hst_emaxdimsdepended = -513 |
| integer, parameter, public | hst_eindivisible = -514 |
| integer, parameter, public | hst_ebadterminus = -515 |
| integer, parameter, public | hst_ebadorigin = -516 |
| integer, parameter, public | hst_empinoaxisdata = -517 |
| integer, parameter, public | usr_errno = -1000 |
| -1000 or less: User-defined errors | |
Error handling module.
| integer function, public dc_error::errorcode |
Return an error code specified currently.
Definition at line 606 of file dc_error.f90.
| subroutine, public dc_error::geterrormessage | ( | character(len = *), intent(out) | msg | ) |
Return messages corresponding to an error code specified currently.
| [out] | msg | Error message string corresponding to the current error code |
Definition at line 618 of file dc_error.f90.
References dc_ealreadyinit, dc_earglack, dc_ebadcaltype, dc_ebaddate, dc_ebadfileopmode, dc_ebadtimezone, dc_ebadunit, dc_edimtime, dc_efilenameempty, dc_einconsistcaldate, dc_enegative, dc_enoassoc, dc_enodimtime, dc_enoentry, dc_enofileexist, dc_enofileread, dc_enofilewrite, dc_enotinit, dc_enounitnum, dc_etoolargetime, gr_enotgr, gt_eargsizemismatch, gt_ebadallocatesize, gt_ebadattrname, gt_ebaddimname, gt_ebadgt4commagraphy, gt_ebadvar, gt_echarshort, gt_edimmultidim, gt_edimnodim, gt_edimotherdim, gt_efake, gt_elimited, gt_enomatchdim, gt_enomem, gt_enomoredims, gt_enoturl, gt_enotvar, gt_enounlimitdim, gt_eotherfile, gt_erankmismatch, hst_ealreadyregvarfix, hst_ebadname, hst_ebadnewfileint, hst_ebadorigin, hst_ebadslice, hst_ebadterminus, hst_ebadvarname, hst_eindefine, hst_eindivisible, hst_eintfile, hst_emaxdimsdepended, hst_empinoaxisdata, hst_enoaxisname, hst_enodependtime, hst_enotimedim, hst_enotindefine, hst_enottermgthist, hst_evarinuse, and usr_errno.
| subroutine, public dc_error::storeerror | ( | integer, intent(in) | number, |
| character(len = *), intent(in) | where, | ||
| logical, intent(out), optional | err, | ||
| character(len = *), intent(in), optional | cause_c, | ||
| integer, intent(in), optional | cause_i | ||
| ) |
Error handling subroutine for typical procedures of library
Number of necessary arguments is two. Give integer error code to first argument number, and procedure name where the error occurs to second argument where. By default, like a following string is displayed to standard output, and the program aborts. Error message is determined by error code automatically. See error code list.
*** ERROR (Code number) [where] *** error_message *** ERROR (Code number) [where(cause_c)] *** error_message
In addition, for usage that users call StoreError as an error handling tool from the outside of gtool5 library, error codes smaller than USR_ERRNO is saved. When error codes smaller than USR_ERRNO is given, StoreError displays like a following string to standard output, and stops the program. dc_message module is prepared too. This module can be used more easily for message output and rise of error.
*** ERROR (Code number) [where] *** cause_c *** ERROR (Code number) [where] *** cause_c (cause_i)
| [in] | number | Error code |
| [in] | where | Place where error occurs |
| [out] | err | Exception handling flag. By default, when error code (excluding non error code) is given to number, the program display error message and aborts. If this err argument is given, .true. is substituted to err and the program does not abort. |
| [in] | cause_c | Character message |
| [in] | cause_i | Integer message |
Definition at line 890 of file dc_error.f90.
References sysdep::abortprogram(), dc_noerr, geterrormessage(), and dc_types::string.
| integer, parameter, public dc_error::dc_ealreadyinit = -401 |
Definition at line 535 of file dc_error.f90.
| integer, parameter, public dc_error::dc_earglack = -412 |
Definition at line 546 of file dc_error.f90.
| integer, parameter, public dc_error::dc_ebadcaltype = -403 |
Definition at line 537 of file dc_error.f90.
| integer, parameter, public dc_error::dc_ebaddate = -418 |
Definition at line 552 of file dc_error.f90.
| integer, parameter, public dc_error::dc_ebadfileopmode = -406 |
Definition at line 540 of file dc_error.f90.
| integer, parameter, public dc_error::dc_ebadtimezone = -404 |
Definition at line 538 of file dc_error.f90.
| integer, parameter, public dc_error::dc_ebadunit = -402 |
Definition at line 536 of file dc_error.f90.
| integer, parameter, public dc_error::dc_edimtime = -416 |
Definition at line 550 of file dc_error.f90.
| integer, parameter, public dc_error::dc_efilenameempty = -405 |
Definition at line 539 of file dc_error.f90.
| integer, parameter, public dc_error::dc_einconsistcaldate = -419 |
Definition at line 553 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enegative = -411 |
Definition at line 545 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enoassoc = -413 |
Definition at line 547 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enodimtime = -415 |
Definition at line 549 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enoentry = -414 |
Definition at line 548 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enofileexist = -408 |
Definition at line 542 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enofileread = -409 |
Definition at line 543 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enofilewrite = -410 |
Definition at line 544 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enotinit = -400 |
-400 or less: DC utilities errors
Definition at line 534 of file dc_error.f90.
| integer, parameter, public dc_error::dc_enounitnum = -407 |
Definition at line 541 of file dc_error.f90.
| integer, parameter, public dc_error::dc_etoolargetime = -417 |
Definition at line 551 of file dc_error.f90.
| dc_error::dc_noerr = 0 |
Error storage variables
Non-error code (no error)
Definition at line 468 of file dc_error.f90.
| integer, parameter, public dc_error::gr_enotgr = -300 |
-300 or less: GrADS I/O errors
Definition at line 530 of file dc_error.f90.
| integer, parameter, public dc_error::gt_eargsizemismatch = -109 |
Definition at line 515 of file dc_error.f90.
| integer, parameter, public dc_error::gt_ebadallocatesize = -117 |
Definition at line 523 of file dc_error.f90.
| integer, parameter, public dc_error::gt_ebadattrname = -115 |
Definition at line 521 of file dc_error.f90.
| integer, parameter, public dc_error::gt_ebaddimname = -105 |
Definition at line 511 of file dc_error.f90.
| integer, parameter, public dc_error::gt_ebadgt4commagraphy = -120 |
Definition at line 526 of file dc_error.f90.
| integer, parameter, public dc_error::gt_ebadhistory = -116 |
Definition at line 522 of file dc_error.f90.
| integer, parameter, public dc_error::gt_ebadvar = -112 |
Definition at line 518 of file dc_error.f90.
| integer, parameter, public dc_error::gt_echarshort = -113 |
Definition at line 519 of file dc_error.f90.
| integer, parameter, public dc_error::gt_edimmultidim = -103 |
Definition at line 509 of file dc_error.f90.
| integer, parameter, public dc_error::gt_edimnodim = -102 |
Definition at line 508 of file dc_error.f90.
| integer, parameter, public dc_error::gt_edimotherdim = -104 |
Definition at line 510 of file dc_error.f90.
| integer, parameter, public dc_error::gt_efake = -100 |
Positive error numbers are reserved for libc system error messages. Due to high system dependency and very large values used, it is difficult to reserve empty space.
Negative error numbers are used by netCDF. Allowing for some extensions, values up to -99 are not used.
Definition at line 503 of file dc_error.f90.
| integer, parameter, public dc_error::gt_elimited = -111 |
Definition at line 517 of file dc_error.f90.
| integer, parameter, public dc_error::gt_enomatchdim = -110 |
Definition at line 516 of file dc_error.f90.
| integer, parameter, public dc_error::gt_enomem = -107 |
Definition at line 513 of file dc_error.f90.
| integer, parameter, public dc_error::gt_enomoredims = -101 |
-101 or less: Data structure errors
Definition at line 507 of file dc_error.f90.
| integer, parameter, public dc_error::gt_enoturl = -119 |
Definition at line 525 of file dc_error.f90.
| integer, parameter, public dc_error::gt_enotvar = -106 |
Definition at line 512 of file dc_error.f90.
| integer, parameter, public dc_error::gt_enounlimitdim = -114 |
Definition at line 520 of file dc_error.f90.
| integer, parameter, public dc_error::gt_eotherfile = -108 |
Definition at line 514 of file dc_error.f90.
| integer, parameter, public dc_error::gt_erankmismatch = -118 |
Definition at line 524 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ealreadyregvarfix = -510 |
Definition at line 567 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ebadname = -503 |
Definition at line 560 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ebadnewfileint = -512 |
Definition at line 569 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ebadorigin = -516 |
Definition at line 573 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ebadslice = -511 |
Definition at line 568 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ebadterminus = -515 |
Definition at line 572 of file dc_error.f90.
| integer, parameter, public dc_error::hst_ebadvarname = -506 |
Definition at line 563 of file dc_error.f90.
| integer, parameter, public dc_error::hst_eindefine = -501 |
Definition at line 558 of file dc_error.f90.
| integer, parameter, public dc_error::hst_eindivisible = -514 |
Definition at line 571 of file dc_error.f90.
| integer, parameter, public dc_error::hst_eintfile = -502 |
Definition at line 559 of file dc_error.f90.
| integer, parameter, public dc_error::hst_emaxdimsdepended = -513 |
Definition at line 570 of file dc_error.f90.
| integer, parameter, public dc_error::hst_empinoaxisdata = -517 |
Definition at line 574 of file dc_error.f90.
| integer, parameter, public dc_error::hst_enoaxisname = -508 |
Definition at line 565 of file dc_error.f90.
| integer, parameter, public dc_error::hst_enodependtime = -505 |
Definition at line 562 of file dc_error.f90.
| integer, parameter, public dc_error::hst_enotimedim = -507 |
Definition at line 564 of file dc_error.f90.
| integer, parameter, public dc_error::hst_enotindefine = -500 |
-500 or less: Data I/O layer errors
Definition at line 557 of file dc_error.f90.
| integer, parameter, public dc_error::hst_enottermgthist = -504 |
Definition at line 561 of file dc_error.f90.
| integer, parameter, public dc_error::hst_evarinuse = -509 |
Definition at line 566 of file dc_error.f90.
| integer, parameter, public dc_error::usr_errno = -1000 |
-1000 or less: User-defined errors
Definition at line 579 of file dc_error.f90.